加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php命名空间namespace详解

发布时间:2022-10-04 12:37:26 所属栏目:PHP教程 来源:
导读:  PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性

  一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类

  简单来说:namespace就相当于是用来建一个目录,将namespace下面的代码
  PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性
 
  一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类
 
  简单来说:namespace就相当于是用来建一个目录,将namespace下面的代码放在该目录里面,与外面的区分开来。
 
  例如:
 
  /**
 
  *namespace 之前不能有任何代码,除了declare();多个文件可以使用同一个命名空间,但同一命名空间下定义的内容是不能冲突的。namespace支持子命名空间,如:namespace \myself\goodPHP命名空间,相当于多级目录的概念。
 
  二. 同一文件中存在多个命名空间的情况
 
  /**
 
  * 同一文件中若使用了多个命名空间,一般写法
 
  */
 
  namespace nihao\shijie;
 
  function demo()
 
  {
 
  //.......
 
  }
 
  namespace hello\world;
 
  function test()
 
  {
 
  //........
 
  }
 
  \nihao\shijie\demo();
 
  \hello\world\test();
 
  /**
 
  * 同一文件中若使用了多个命名空间,建议大括号扩起来
 
  * 同一文件内使用多个命名空间,主要用于项目将多个PHP脚本合并在同一文件中,实际中不提倡使用!
 
  */
 
  namespace nihao\shijie{
 
  function test_one()
 
  {
 
  //......
 
  };
 
  }
 
  namespace hello\world{
 
  function test_two()
 
  {
 
  //........
 
  }
 
  }
 
  \nihao\shijie\test_one();
 
  \hello\world\test_two();
 
  三. 名称解析规则(几个概念)
 
  1.非限定名称:名称中不包含命名空间分割符,如:myself
 
  2.限定名称:名称中含有命名空间分割符,如:nihao\shijie
 
  3.完全限定名称:名称中包含分割符,并以命名空间分割符开始,如:\nihao\shijie (即绝对路径的概念)
 
  四.使用命名空间
 
  1.use关键字目的是使用命名空间的别名:
 
  use \nihao\shijie as shijie
 
  2.及时在一个命名空间要使用另一个文件中的类或者方法都需要include或者require需要的文件
 
 
 

(编辑:PHP编程网 - 钦州站长网)

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