作者:刘老师
武汉长乐教育,武汉PHP培训课程,版权所有,转载请注明!
PHP 命名空间-史上最烂的命名空间
命名空间见过不少, 没见过PHP这么令人恶心的命名空间...
这东西是新版ThinkPHP的基础, 所以我们还是要搞清楚!
1. 命名空间的定义
namespace.php
<?php
//方法一
namespace my\name;
class A {
function test(){
echo 123;
}
}
//方法二
namespace my\name{
class A {
function test(){
echo 123;
}
}
}
2. 命名空间的使用
index.php
//方法一
require("namespace.php");
use my\name\A;
$a = new A();
$a->test();
//方法二
use my\name\A as D;
$a = new D();
$a->test();
//方法三
use my\name as name;
$a = new name\A();
$a->test();
//方法四
require("namespace.php");
$a = new my\name\A();
$a->test();
3. 为什么要有命名空间?
因为php在new的时候不管是调用autoload还是调用已加载过的类, 都存在一个类名对应的文件.
所以在没有namespace的时候, 我们会想各种命名规则来区分不同的类, 比如School_Class1_Student
或者School_Class2_Student
.
当有了命名空间以后, 你甚至可以定义相同的类名, 只需要让他们存在于不同的命名空间就可以了.