是否有办法使"多用途"?
我使用一个插件在Silex使用ORM与它,并在每个实体我必须这样使用:
use Doctrine'ORM'Mapping'Entity,
Doctrine'ORM'Mapping'Table,
Doctrine'ORM'Mapping'Id,
Doctrine'ORM'Mapping'Column,
Doctrine'ORM'Mapping'GeneratedValue,
Doctrine'ORM'Mapping'ManyToOne,
Doctrine'ORM'Mapping'ManyToOne;
所以,我的问题是,PHP中有像Java一样的"多重使用"吗?我的意思是:
use Doctrine'ORM'Mapping'*;
或者使用Silex/Symfony之类的自动加载技术?
为什么不这样做呢?
use Doctrine'ORM'Mapping as ORM;
然后在你的注释中…
/**
* @ORM'Column(type="int")
*/
protected $name;
不,这是设计上不可能的。
想象一下,你有两个"通配符"的用法,像这样:
use Foo'*;
use Bar'*;
现在,在代码的某个地方,您将访问这些命名空间之一的类,如下所示:
$a = new Something();
现在,类Something
可能需要自动加载,但要这样做,php需要解析类的完整名称空间路径:Foo'Something
或Bar'Something
?或者我们指的是当前名称空间中的Something
类吗?