5

「複数回使用」する方法はありますか?

私は 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 などで作成されたオートロード手法を使用している可能性がありますか?

4

2 に答える 2

5

なぜこれをしない...

use Doctrine\ORM\Mapping as ORM;

次に、注釈で...

/**
 * @ORM\Column(type="int")
 */
 protected $name;

等々...

于 2013-02-26T14:00:48.613 に答える
2

いいえ、これは不可能です – 設計上。

次のように、「ワイルドカード」を 2 つ使用するとします。

use Foo\*;
use Bar\*;

コードのどこかで、次のように、これらの名前空間のいずれかのクラスにアクセスします。

$a = new Something();

ここで、Somethingおそらくクラスを自動ロードする必要がありますが、そうするには、php がクラスの完全な名前空間パスを解決する必要がありFoo\SomethingますBar\SomethingSomethingそれとも、現在の名前空間内のクラスを意味していたのでしょうか?

于 2013-02-26T18:29:43.527 に答える