すべてのページに手動で名前空間を追加していますが、より良い方法がありますか?どのようにすべての名前空間を整理するのですか?
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;
ありがとうございます!
すべてのページに手動で名前空間を追加していますが、より良い方法がありますか?どのようにすべての名前空間を整理するのですか?
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;
ありがとうございます!
これを試してみてください:
use James\Art\{
Autoload,
Search,
Binary,
RD\Test,
RD\UTest,
RD\Utest2
};
それが唯一PHP7で動作します、あなたはより多くの情報のためhereを見ることができます。
ありがとう!それは動作します –
注意してください:これは[PHP 7で追加された新機能です](http://php.net/manual/en/migration70.new-features.php#migration70.new-features.group-use-declarations )。 PHP 5では動作しません。 – axiac
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
に減らすという副作用もあります。
をグループ化できます。 1回のみ使用します。 –
あなたは私にそれを行う方法を示すことができますか? –