当前位置:首页 > 编程开发 > PHP > 正文内容

php中命名空间(namespace)的作用和使用

Codefans2年前 (2022-05-11)PHP995

1.命名空间的作用:


在PHP中函数、类、常量是不允许同名的。为了解决这三者的同名问题,所以出现了命名空间. 其实不仅仅是php,其他语言也有类似的使用。比如JavaScript中:

20181201105307520.png

我们来详细的讲解一下PHP中的命名空间:


语法:namespace 空间名\空间名;


说明: 用于定义空间名;如果一个php文件中,第一个空间的定义义必须放在第1行。如果所要定义的空间已存在,则是进入空间。代码示例如下:

20181201105511533.png

2.空间成员:所谓空间成员就是,空间所影响的,空间只影响类、函数、常量(const)


3.空间成员的访问:访问方式分为限定,非限定,完全访问,之间的区别,我们使用代码来说明一下。

20181201110344283.png

但是在实际的使用中,我们很多类和方法都是在不同的文件中,这就涉及到引入的问题,也就是在实际开发中,我们经常会在一个文件中引入另一个php文件。这种情况下有两种情况:


当前文件有空间的定义,被引入的文件中没有空间的定义,但是有空间成员。被引入的空间成员会被放在公共空间(根空间)


代码示例如下:

20181201110654508.png

第二种情况:当前文件有空间的定义,被引入的文件中有空间的定义,并不会中断当前空间的定义。

20181201110828605.png

4.引入空间成员


1.use 空间名\空间名 【as 别名】:将指定空间引入到当前空间。同可以使用as关键字为被引入的空间起个别名。

20181201111001732.png

2.use 空间名\空间名\成员类 【as 别名】:将指定的空间中的成员引入到当前空间,引入空间成员只能引入类。

20181201111009264.png

5.空间命名的方式:空间名我们可以任意的定义,但是如果命名更有意义呢。一般我们会以类文件所在的文件夹为空间名。其实主要的就是方便按照某种约定成俗的规则加载文件。


这里我们只是简单的介绍了一下命名空间的作用和使用。其实很多框架内部也是这样的使用。不同的类在不同的空间,相互之间的引用也是遵循着相应引入规则。

扫描二维码推送至手机访问。

版权声明:本文由图慧网发布,如需转载请注明出处。

本文链接:http://www.tuh8.com/?id=28

分享给朋友:

“php中命名空间(namespace)的作用和使用” 的相关文章

Nginx/Apache支持PATH_INFO模式

默认情况下,nginx和apache是不支持path_info的,我们需要做些配置让它支持。首先需要启用cgi.fix_pathinfo——修改php配置文件php.ini,将;cgi.fix_pathinfo=1前面的冒号;去掉,重启php服务。然后再配置Nginx或Apache。Nginx配置说...

phpexcel导出文件内容空白或错误原因之一(存在乱码字符)的解决办法

public function illegal_unicode($str='') {     $txtcode=explode('\u',str_replace("\"&quo...

解决PHP中json_encode自动编码中文的问题

第一种:PHP版本高于5.4时,可以使用官方提供的方法,在括号内加一个参数JSON_UNESCAPED_UNICODE$data = json_encode($msg,JSON_UNESCAPED_UNICODE);第二种:所有版本可用方法,具体解决方法就是先将中文编码成url编...

阿里云虚拟主机php7.0自定义redis组件方法

阿里云虚拟主机php7.0自定义redis组件方法

1.下载适配7.0的redis.so文件点击此处下载提取码: hxtk或者自行百度寻找2.利用ftp将下载的redis.so上传至myfolder文件夹中3.登录阿里云打开云虚拟主机管理界面4.高级环境配置5.PHP和Zend扩展组件6.myfolder文件夹中逐级寻找刚刚上传的redis.so,并...