php专区

 首页 > php专区 > PHP应用 > 常用功能 > php中命名空间namespace用法介绍

php中命名空间namespace用法介绍

分享到:
【字体:
导读:
          PHP的命名空间(namespace)是php5.3之后才有的之前学习php所以没有这个东西了,最近用到了php命名空间了,下面我们一起来看看命名空间namespace用法 现在说这个,感觉有点过时了,但是感觉...

PHP的命名空间(namespace)是php5.3之后才有的之前学习php所以没有这个东西了,最近用到了php命名空间了,下面我们一起来看看命名空间namespace用法

现在说这个,感觉有点过时了,但是感觉用namespace的人还是不多,估计还是因为不习惯吧。

class把一个一个function组织起来,namespace可以理解成把一个一个class,function等有序的组织起来。个人觉得,namespace的主要优势有

第一,可以更好的管理代码

第二,文件一多,可以避免class,function的重名

第三,代码可读性增强了

1,定义namespace

  1. namespace userCenter;
  2. //php代码  
  3. namespace userCenterregister;
  4. //php代码    
  5.  
  6. namespace userCenterlogin {
  7.  //php代码 

命名空间不能嵌套或在同一代码处声明多次(只有最后一次会被识别),但是,你能在同一个文件中定义多个命名空间化的代码,比较合适的做法是每个文件定义一个命名空间,可以是相同命名空间.

2,调用namespace

  1. userCenterregister; //绝对调用   
  2. userCenterlogin; //相对调用   
  3. use userCenterregister; //引用空间   
  4. use userCenterregister as reg; //引用空间并加别名   

3,实例说明,login.class.php

  1.  
  2. namespace userCenter; 
  3.  
  4. function check_username(){   
  5.  
  6.  echo "login OK
    "
    ;   
  7.  
  8. }   
  9.  
  10. class login{   
  11.  
  12.  public function save(){   
  13.  
  14.  echo "login had saved
    "
    ;   
  15.  
  16.  }   
  17.  
  18. }   
  19.  
  20. ?> 

regist.class.php

  1.  
  2. namespace userCenterregist   
  3.  
  4. {   
  5.  
  6.  function check_username() {   
  7.  
  8.  echo "regist OK
    "
    ;   
  9.  
  10.  } 
  11.  
  12.  class regist{   
  13.  
  14.  public function save(){   
  15.  
  16.  echo "regist had saved
    "
    ;   
  17.  
  18.  }   
  19.  
  20.  }   
  21.  
  22. }   
  23.  
  24.     
  25.  
  26. ?> 

test.php

  1.  
  2.  
  3. require "login.class.php";   
  4.  
  5. require "regist.class.php"; 
  6.  
  7. use userCenterregist;    //使用use调用空间   
  8.  
  9. use userCenterregist as reg;  //as定义别名 
  10.  
  11. echo userCentercheck_username();  //绝对调用  
  12.  
  13. $login = new userCenterlogin();   
  14.  
  15. echo $login->save();   
  16. //phpfensi.com 
  17.   
  18. echo registcheck_username();    //相对调用   
  19.  
  20. echo regcheck_username();       //别名调用    
  21.  
  22. $regist = new regregist();   
  23.  
  24. echo $regist->save(); 

使用use,比绝对调用要好一点,好比给class,function等加了一个前缀,这样看起来就比较清楚了.


分享到:
PHP中使用AES加密算法加密数据的例子
AES加密是一个非常高级的加密了,听很多人说要破解AES加密是非常的困难了,下文小编来为各位整理一个使用AES加密算法加密数据的例子. 在研究Discuz 的时候,发现Discuz有一套相当完美的加密算法(相对而言),这个算法可以将数据加密后,储存起来,到需要用的时候,用之前加密的秘钥将之还原. 除了这个之外,还有AES这个算法...
php版本微信公众平台回复乱码问题解决方...
微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看. 很多微信公众平台的自动回复程序都是 ThinkWechat.class.php 这个类开发的,今天碰到一个莫名其妙的乱码问题,查问题发现是GB2312编码导致,所以要修改源码. 先增加一个方法: /**  ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……