我在每个页面中手动添加名称空间,但是有更好的方法吗?
use James\Art\AutoLoad;
use James\Art\Search;
use James\Art\Binary;
use James\Art\RD\Test;
use James\Art\RD\UTest;
use James\Art\RD\UTest2;
谢谢!
答案 0 :(得分:2)
试试这个:
use James\Art\{
Autoload,
Search,
Binary,
RD\Test,
RD\UTest,
RD\Utest2
};
它只适用于PHP7,您可以看到here以获取更多信息。
答案 1 :(得分:0)
有几次我一直在使用许多相关的命名空间 - 例如Symfony / Doctrine Entities或Value Objects,所以为了帮助澄清特定类的用途,我故意不这样做使用最小可能的名称,而不是添加下一级别 - 导致代码如下:
section Section1;
shared Query1 = 1 + 1;
shared Query2 = Query1 + 1;
清楚地知道我正在使用哪种类,而不必回顾<?php
namespace xyz;
use xyz\Vo;
use xyz\Entity;
use James\Art;
...
$x = new Vo\Email;
$y = new Vo\Username;
$z = Entity\User;
$auto = Art\AutoLoad;
$search = Art\Search;
行,恕我直言,使得代码对于正在发生的事情更加明显。
如果我在一个公共名称空间中使用了几个类,它还会产生副作用,即减少所需的use
行数,而不会使文件头更复杂。