有没有办法进行“多次使用”?
我在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制作的自动加载技术?
答案 0 :(得分:5)
为什么不这样做......
use Doctrine\ORM\Mapping as ORM;
然后在你的注释中......
/**
* @ORM\Column(type="int")
*/
protected $name;
等等......
答案 1 :(得分:2)
不,这是不可能的 - 按设计。
想象一下,你有两个“通配符”用法,如下所示:
use Foo\*;
use Bar\*;
现在,在代码中的某个位置,您将访问其中一个名称空间的类,如下所示:
$a = new Something();
现在,类Something
可能需要自动加载,但为了这样做,php需要解析类的完整名称空间路径:Foo\Something
或Bar\Something
?或者我们是指当前名称空间中的类Something
?