如果我有一个PHP命名空间,如下所示:
<?php
namespace A\B;
$test = new MyClass();
似乎每当我创建一个新的类实例时,该名称都以命名空间为前缀,例如:
$test = new A\B\MyClass();
如果我不想将名称空间用于其他类,会发生什么情况,例如:我想打电话
$test = C\D\AnotherClass();
目前这变为:
$test = A\B\C\D\AnotherClass();
导致错误。
答案 0 :(得分:0)
对于 php7,您可以将代码包装在命名空间中,然后在全局命名空间中使用 use 调用它,使用命名空间声明如下示例中没有名称的命名空间。
namespace FRED\WILMA\BAMBAM {
const FW = 2;
function fw() {
echo "<br>fw<br>";
}
}
namespace BARNEY\BETTY { // Create Namespace and add function
function bb() {
echo "<br>bb<br>";
}
}
namespace { // use global namespace
use FRED\WILMA\BAMBAM;
use BARNEY\BETTY;
BETTY\bb();
BAMBAM\fw();
}