PHP面向对象——命名空间namespace


1.命名空间namespace

含义:封装事物的方法

作用解决名字冲突的问题。  

注意1.当在字符串中使用命名空间名字的时候,一定不要忘了转义\

      2.所有在非用户定义的命名空间中的声明(类、函数、常量),都默认的属于全局命名空间。

用法定义命名空间):

Namespace 空间名字{  

class Test{
  
                           }

}

           注意:1.没有空间名字则表示 全局空间的代码块

一个文件中定义多个命名空间:

<?php
namespace MyNamespace {
}
 
namespace MySecondNamespace {
}
 
namespace {
}

我们也可以将一个命名空间分散在不同的文件中,文件包含的处理程序会自动合并他们。因此,限制大量的命名空间在同一个文件中定义是一个很好的编程实践,就像我们通常单独为每个类定义一个单独的文件一样

 

 

namespace必须声明在所有代码的最前面

调用:

<?php//文件名a1.php

/*
* 命名空间 namespace
*/
namespace lovo;

class TestNamespace{
public function test(){
echo '掉用了我';
}

}

 ?php//第2个PHP
// namespace必须声明在所有代码的最前面
//namespace lovo;
require_once('a1.php');
// 使用use可以指定加载的命名空间及其对应的类,同时在类名后面可以使用as关键字指定某个类的别名
// 一旦起了别名后,在当前文件中就可以使用这个别名来创建对应的类的对象
use lovo\TestNamespace as MyTest;

$test4 = new \lovo\TestNamespace();
$test5 = new MyTest();
$test5->test();
var_dump($test5);

 注意:PHP并不支持命名空间的嵌套定义

一个文件可以定义多个命名空间


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM