PHP命名空间

简介: PHP语言命名空间复习笔记


本文是复习所写,并不会涵盖一些基础知识点

定义

命名空间就相当于操作系统中目录的概念

主要是为了解决以下两个问题:

  1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突
  2. 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性

<?php

namespaceMayi\Demo;

 

classTest

{

   

}

命名空间大小写不敏感,一般首字母大写

同一文件中可以定义多个命名空间,不推荐使用

<?php

namespaceMayi\Demo

{

   classTest

   {

       

   }

}

 

// 全局代码

namespace {

   $a=1;

}

namespace关键字与__NAMESPACE__魔术常量

<?php

namespaceMayi

{

   classTest

   {

       publicfunctionfoo()

       {

           echo__NAMESPACE__;

       }

   }

}

 

namespaceMayi\Demo

{

   classTest

   {

       publicfunctionfoo()

       {

           echo__NAMESPACE__;

       }

   }

}

 

functionfoo()

{

   echo__NAMESPACE__;

}

 

// namespace指代当前文件的命名空间

namespace\foo();

(newnamespace\Mayi\Test)->foo();

(newnamespace\Mayi\Demo\Test)->foo();

使用命名空间

<?php

namespaceDemo;

 

useMayi; // 导入

useMayi\DemoasMayiDemo; // 导入并起别名

 


目录
相关文章
|
PHP
PHP命名空间学习笔记
命名空间的支持版本:PHP 5 > 5.3.0,PHP 7 。 什么是命名空间 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。
1018 0
x3d
|
PHP
PHP旧系统基于命名空间重构经验
命名空间其实只是一个形式,最终目的是重构代码,但这个过程想要一蹴而就是不可能的。 一开始给了一个伪命题:基于ThinkPHP的重构(不要问为什么)。经过一段的实践,发现这是一个大错特错的思维方式,其中遇到的坑在此略过不表。
x3d
713 0
|
PHP
帝国备份王放到空间以后打开index.php显示空白页的解决办法
把帝国备份王传到空间上面打开 index.php 显示空白页 ,其他的php文件也都不行。 解决办法: php.ini配置问题,按下面修改即可解决:修改php.ini,将:short_open_tag 设为 On
2520 0