php命名空间真的存在吗(PHP中命名空间的使用例子)
php命名空间真的存在吗
PHP中命名空间的使用例子程序语言中的命名空间指的是一种特殊的作用域,它包含处于该作用域下的标识符,同时它本身也是一种标识符。可以把命名空间与操作系统的目录对应起来。一个命名空间相当于一个目录,命名空间里的类,函数,常量,相当于目录里的文件。同一个目录(命名空间)里的文件名不能相同,但是不同的目录里可以有相同名字的文件。
使用命名空间可以解决名字冲突,比如定义了一个类,正好这个类与PHP内部的类或是include进来的一个类库里的类重名的时候。同时,命名空间还可以提高代码可读性,命名空间有一个别名功能,它可以帮你给一个长达十几个字符的类名起一个别名,从而缩短代码,也不用担心与其他空间的命名冲突。
PHP中,只有类、函数、常量会受命名空间影响,php 5.3以后可以使用const关键字来定义常量,5.3这前使用define,命名空间只对const关键字有效。
如下php代码:在file.php文件中,用namespace定义了一个常量,一个函数和一个类:(file1.php)
|
<?php namespace MyProject; //定义命名空间MyProject const A = 1; function MyFunc(){ return __FUNCTION__ ; } class MyClass{ static function MyMethod(){ return __METHOD__ ; } } ?> |
定义了命名空间后,使用的时候就要加上命名空间的名称,如下php代码:(file2.php)
|
<?php include ( "file1.php" ); echo MyProject\A. "<br>" ; echo MyProject\MyFunc(). "<br>" ; echo MyProject\MyClass::MyMethod(); ?> |
定义了命名空间后,在同一个文件中,只要不属于同一个命名空间,就可以使用不同的方法,变量和类了!
命名空间可以有多层次模式,如下:
namespace MyProject\Sunname;
一个php文件中可以有多个不同的命名空间,如下代码:(file3.php)
|
<?php namespace MyProject; //定义命名空间MyProject const A = php; function MyFunc(){ return __FUNCTION__ ; } class MyClass{ static function MyMethod(){ return __METHOD__ ; } } //再定义一个命名空间 namespace AnotherMyProject; //定义命名空间AnotherMyProject const A = php; function MyFunc(){ return __FUNCTION__ ; } class MyClass{ static function MyMethod(){ return __METHOD__ ; } } ?> |
不仅如此,还可以用use关键词导入命名空间,如下php代码:
|
<?php include ( "file1.php" ); use MyProject as ns; echo ns\A. "<br>" ; echo ns\MyFunc(). "<br>" ; echo ns\MyClass::MyMethod(); ?> |
还有一个需要注意的东西,__NAMESPACE__
常量,这个是用于返回当前命名空间的名称,在调试的时候可能很有用!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接
- 织梦cms漏洞怎么解决(织梦cms、帝国cms、PHPcms优缺点解析)
- php实现非递归快速排序(PHP实现无限极分类的两种方式示例递归和引用方式)
- php读取远程的txt文件(php 根据URL下载远程图片、压缩包、pdf等文件到本地)
- php开启curl(解决PHP使用CURL发送GET请求时传递参数的问题)
- win7如何搭建php环境(阿里云Win2016安装Apache和PHP环境图文教程)
- phpredis使用场景(php和redis实现秒杀活动的流程)
- 宝塔linux面板php7.0安装不上(宝塔面板php.ini文件在哪里找)
- windowsserver2008部署php项目(win2008 r2 服务器环境配置FTP/ASP/ASP.Net/PHP)
- php经典算法大全(php菜单/评论数据递归分级算法的实现方法)
- php实战小实例(php实现推荐功能的简单实例)
- dedecms版本介绍(解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法)
- php检查语法(使用 PHP Masked Package 屏蔽敏感数据的实现方法)
- thinkphp5框架怎么设置(thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例)
- php联合注入列表总结(php中的依赖注入实例详解)
- php去水印方法(PHP开发的文字水印,缩略图,图片水印实现类与用法示例)
- php怎么设计策略模式(php设计模式之策略模式应用案例详解)
- 泰剧《爱欲之神》Boom kitkong和Great合体杂志(泰剧爱欲之神Boomkitkong和Great合体杂志)
- 素人恋爱综艺火药味十足 男生为赢得芳心集体扯头花,真是出好戏(素人恋爱综艺火药味十足)
- 《囧妈》为何受抵制 春节七部影片撤档背后的责任与博弈(囧妈为何受抵制)
- 提醒 2019年起河南驾考要开设科目五 官方回应来了(2019年起河南驾考要开设科目五)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
热门推荐
- Python实现FTP弱口令扫描器的方法示例(Python实现FTP弱口令扫描器的方法示例)
- css中position用法(详解CSS中position属性介绍新增sticky)
- python线程池如何实现同步(Python mutiprocessing多线程池pool操作示例)
- 防火墙如何设置ftp连接(浅谈防火墙对FTP的影响及故障排除分析)
- java上传图片压缩包(js实现多张图片打包成zip)
- mysql的使用步骤(MySQL infobright的安装步骤)
- python协程结果(深入浅析python 协程与go协程的区别)
- python坐标输入(python导入坐标点的具体操作)
- docker如何启动springboot(Centos8.3、docker部署springboot项目实战案例分析)
- 织梦的powerbydedecms怎么改(织梦DEDECMS提示信息提示框美化)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9