栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php命名空间

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php命名空间

php命名空间类似于java当中的包,为了更好的管理代码。

命名空间的定义最好与文件路径相对应,方便查找。



对于一个命名空间,只有类、接口、函数和常量会被包含在命名空间中。

定义命名空间



namespace MyProject;const CONNECT_OK = 1;class Connection { }function connect() { }?>1


当然,也可以使用花括号来包含所有需要的内容,就像这样。



namespace MyProject {const CONNECT_OK = 1;class Connection { }function connect() { }}namespace { // 全局代码session_start();$a = MyProjectconnect();echo MyProjectConnection::start();}?>



使用命名空间


 PHP 命名空间中的类名可以通过三种方式引用:

  1. 非限定名称,或不包含前缀的类名称,例如 $a=new foo(); 或 foo::staticmethod();。如果当前命名空间是 currentnamespace,foo 将被解析为 currentnamespacefoo。如果使用 foo 的代码是全局的,不包含在任何命名空间中的代码,则 foo 会被解析为foo。 警告:如果命名空间中的函数或常量未定义,则该非限定的函数名称或常量名称会被解析为全局函数名称或常量名称。

  2. 限定名称,或包含前缀的名称,例如 $a = new subnamespacefoo(); 或 subnamespacefoo::staticmethod();。如果当前的命名空间是 currentnamespace,则 foo 会被解析为 currentnamespacesubnamespacefoo。如果使用 foo 的代码是全局的,不包含在任何命名空间中的代码,foo 会被解析为subnamespacefoo。

  3. 完全限定名称,或包含了全局前缀操作符的名称,例如, $a = new currentnamespacefoo(); 或 currentnamespacefoo::staticmethod();。在这种情况下,foo 总是被解析为代码中的文字名(literal name)currentnamespacefoo。

  4. use关键词是自动加载命名空间类




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/229751.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号