# php 命名空间

命名空间(Namespace)在 PHP 中是一种用来解决命名冲突的机制,它允许你将相同名字的类、函数、常量等组织到不同的逻辑组中,从而避免了命名冲突,提高了代码的可读性和可维护性。

在 PHP 中,使用 namespace 关键字来定义命名空间,例如:

<?php
namespace mynamesp;
class mynamesp {
}
function myfunc(){
}
const myfunc1 = "myfunc";

当你要使用命名空间中的类、函数或常量时,可以使用完全限定名称(Fully Qualified Name)或相对名称(Relative Name)来引用,例如:

$obj = new \mynamesp\mynamesp();
\mynamesp\myfunc();
echo \mynamesp\myfunc1;
// 使用相对名称
namespace mynamesp;
$obj = new myclass();
myfunc();
echo myfunc1;

在使用相对名称时,PHP 会根据当前命名空间的上下文来解析名称。如果要引用当前命名空间之外的内容,可以使用 use 关键字来导入其他命名空间的符号,例如:

namespace mynamesp;
use AnotherNamespace\AnotherClass;
$obj = new AnotherClass();