加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中命名空间namespace用法介绍

发布时间:2022-07-04 10:04:02 所属栏目:PHP教程 来源:互联网
导读:PHP的命名空间(namespace)是php5.3之后才有的之前学习php所以没有这个东西了,最近用到了php命名空间了,下面我们一起来看看命名空间namespace用法 现在说这个,感觉有点过时了,但是感觉用namespace的人还是不多,估计还是因为不习惯吧。 class把一个一个fu
  PHP的命名空间(namespace)是php5.3之后才有的之前学习php所以没有这个东西了,最近用到了php命名空间了,下面我们一起来看看命名空间namespace用法
 
  现在说这个,感觉有点过时了,但是感觉用namespace的人还是不多,估计还是因为不习惯吧。
 
  class把一个一个function组织起来,namespace可以理解成把一个一个class,function等有序的组织起来。个人觉得,namespace的主要优势有
 
  第一,可以更好的管理代码
 
  第二,文件一多,可以避免class,function的重名
 
  第三,代码可读性增强了
 
  1,定义namespace
 
  namespace userCenter;
  //php代码  
  namespace userCenterregister;
  //php代码    
   
  namespace userCenterlogin {
   //php代码
  }
  命名空间不能嵌套或在同一代码处声明多次(只有最后一次会被识别),但是,你能在同一个文件中定义多个命名空间化的代码,比较合适的做法是每个文件定义一个命名空间,可以是相同命名空间.
 
  2,调用namespace
 
  userCenterregister; //绝对调用   
  userCenterlogin; //相对调用   
  use userCenterregister; //引用空间   
  use userCenterregister as reg; //引用空间并加别名   
  3,实例说明,login.class.php
 
  <?php
   
  namespace userCenter;
   
  function check_username(){   
   
   echo "login OK<br>";   
   
  }   
   
  class login{   
   
   public function save(){   
   
   echo "login had saved<br>";   
   
   }   
   
  }   
   
  ?>
  regist.class.php
 
  <?php   
   
  namespace userCenterregist   
   
  {   
   
   function check_username() {   
   
   echo "regist OK<br>";   
   
   }
   
   class regist{   
   
   public function save(){   
   
   echo "regist had saved<br>";   
   
   }   
   
   }   
   
  }   
   
      
   
  ?>
  test.php
 
  <?php
   
  require "login.class.php";   
   
  require "regist.class.php";
   
  use userCenterregist;    //使用use调用空间   
   
  use userCenterregist as reg;  //as定义别名
   
  echo userCentercheck_username();  //绝对调用  
   
  $login = new userCenterlogin();   
   
  echo $login->save();   
  //phpfensi.com
    
  echo registcheck_username();    //相对调用   
   
  echo regcheck_username();       //别名调用    
   
  $regist = new regregist();   
   
  echo $regist->save();
  使用use,比绝对调用要好一点,好比给class,function等加了一个前缀,这样看起来就比较清楚了.

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读