PHP命名空间与use
当在一个大型项目很多程序员书写模板时,最怕出现的问题就是命名,如果一个PHP脚本出现了同名的类或者方法,就会报错(fatal error),使用命名空间可以 解决这个问题
知识点:
命名空间namespace: 在一个PHP执行脚本内开放一个空间来放置常量、类、函数,与其他空间的这些元素互不影响,如下:
1 namespace first\chance; 2 class test{ 3 public function test(){ 4 5 echo 1; 6 } 7 } 8 9 $a = new test(); 10 $a->test(); 11 12 namespace second\chance; 13 class test{ 14 public function test(){ 15 16 echo 2; 17 } 18 } 19 $a = new test(); 20 $a->test();
结果输出12。
在实际项目中,我们可能需要引用他人完成好的类,如果他的类写了命名空间,那么就需要使用关键字use
关键字use:使用命名空间及其中的类、函数、常量,如下
1 require_once 'test6.php'; 2 //使用use...as可以对命名空间进行重命名 3 use first\com\chance as first; 4 $a = new first\test(); 5 $a->test();
注意:
①、use命名空间时,示例化对象最前面不需要 打'\'
②、声明namespace时,代码必须在PHP脚本第一行