在python中,您可以执行“import star”将其他名称空间中的所有内容嵌入到本地名称空间中:
# file "spam":
def ham():
some code
# file "main":
from spam import *
xy = ham() <-- uses 'ham' from 'spam'
这通常被认为是“不好的做法”,但我仍然想知道如何对php命名空间做同样的事情。以下不起作用:
# file "spam":
namespace spam;
function ham() {
some code
}
# file "main":
include "spam.php";
use spam;
xy = ham() <-- error
答案 0 :(得分:2)
在PHP中,您不从命名空间“导入”。您只能将命名空间或类别名别名为另一个(可能更短)名称。通常你这样做:
use Foo as F;
new F\Bar;
这就是“等同于”“尽可能方便地使用命名空间中的所有东西”。
答案 1 :(得分:1)
虽然没有办法将命名空间中的所有类都包含在一行中,但是人们可以使用几乎任何其他语言的方式,我发现让IDE自动处理“使用”案例是无用的。
我强烈建议调查PhpStorm(这是我个人的最爱)。使用自动完成功能时,它可以自动编写“使用”行。
请参阅https://www.jetbrains.com/phpstorm/webhelp/creating-imports.html