2016-10-08 4 views
2

すべてのページに手動で名前空間を追加していますが、より良い方法がありますか?どのようにすべての名前空間を整理するのですか?

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

をグループ化できます。 1回のみ使用します。 –

+0

あなたは私にそれを行う方法を示すことができますか? –

答えて

2

これを試してみてください:

use James\Art\{ 
    Autoload, 
    Search, 
    Binary, 
    RD\Test, 
    RD\UTest, 
    RD\Utest2 
}; 

それが唯一PHP7で動作します、あなたはより多くの情報のためhereを見ることができます。

+1

ありがとう!それは動作します –

+0

注意してください:これは[PHP 7で追加された新機能です](http://php.net/manual/en/migration70.new-features.php#migration70.new-features.group-use-declarations )。 PHP 5では動作しません。 – axiac

0

Symfony/Doctrine EntitiesやValue Objectsなどの関連する名前空間を数回使用しているので、特定のクラスが何であるかを明確にするのに役立ちます。私は意図的に 'トン最小限の可能名を使用して、代わりに次のレベルアップに追加 - のようなコードにつながる:

私は useラインまで戻って参照することなく、使用しているクラスのどのような種類の透明度を持つ
<?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; 

、IMHOは、何が起こっているかについてコードをもう少し明白にしています。

一般的な名前空間内でいくつかのクラスを使用している場合、ファイルヘッダーを読みやすくすることなく、必要な行数をuseに減らすという副作用もあります。

関連する問題