重写特定类的PHP命名空间
如果我有一个PHP名称空间,如下所示:重写特定类的PHP命名空间,php,namespaces,Php,Namespaces,如果我有一个PHP名称空间,如下所示: <?php namespace A\B; $test = new MyClass(); 如果我不想为另一个类使用名称空间,例如,我想调用 $test = C\D\AnotherClass(); 目前这变成: $test = A\B\C\D\AnotherClass(); 这将导致一个错误。对于php7,您可以在名称空间中封装代码,然后在全局名称空间中使用use调用它,根据下面的示例,使用无名称名称空间声明 namespace
<?php
namespace A\B;
$test = new MyClass();
如果我不想为另一个类使用名称空间,例如,我想调用
$test = C\D\AnotherClass();
目前这变成:
$test = A\B\C\D\AnotherClass();
这将导致一个错误。对于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();
}
名称空间FRED\WILMA\BAMBAM{
常数FW=2;
函数fw(){
回声“
fw
”;
}
}
名称空间BARNEY\BETTY{//创建名称空间并添加函数
函数bb(){
回声“
bb
”;
}
}
名称空间{//使用全局名称空间
使用FRED\WILMA\BAMBAM;
使用BARNEY\BETTY;
贝蒂\bb();
BAMBAM\fw();
}
您需要在类中添加一个前导\。e、 g.$test=new\C\D\AnotherClass()
或者您可以使用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();
}