要使该命名空间的所有类在当前文件中可用,与c#的using Name.Space;
语句等效的是什么?这在PHP中可能吗?
我想要的(但不工作):
<?php
# myclass.php
namespace Namespace;
class myclass {
}
?>
<?php
# main.php
include 'myclass.php'
use Namespace;
new myclass();
?>
无。在PHP中,解释器不会知道可能存在的所有类(特别是由于__autolload的存在),因此运行时将遇到许多冲突。像这样:
use Foo'*; // Invalid code
throw new Exception();
可能有一个Foo'Exception,它应该是__autoload
- ed - PHP无法知道。
你可以做的是导入子命名空间:
use Foo'Bar;
$o = new Bar'Baz(); // Is Foo'Bar'Baz
或带别名:
use Foo'Bar as B;
$o = new B'Baz(); // Is Foo'Bar'Baz
正如johannes所解释的,或者您可以将您的类别名
声明:
namespace myNamespace;
class myClass {
public function __toString()
{
return "Hello world!";
}
}
执行:
include 'namespace.class.php';
use myNamespace'myClass as myClass;
echo new myClass();