0

私のプロジェクトには、APPLICATION と SYSTEM の 2 つのフォルダーがあります。システムには、CONFIG、CORE、HTML、URL などのフォルダーが含まれています。それらのそれぞれには、いくつかのクラスのセットが含まれています。

私はこの規則を使用します: クラスの名前空間はそのファイル構造を反映しています - これにより、それらを簡単にオートロードできます。

そう:\Project_Name\System\Core\Fooに配置されSystem/Core/Foo.phpます。

ただし、このような長い名前を呼び出すことは、私のコードのユーザーにとって最も迅速で適切な方法ではありません。次に2つの質問:

  1. \Project_Name のような名前空間を持ついくつかの空のクラスを作成しても問題ありませんか? アプリケーション クラスで「use」キーワードを 1 つ使用すると、問題を解決できます。しかし、結果として、「system/」の奇妙なフォルダーに空のクラスとフォルダー構造がたくさんできてしまいます。
  2. それとも、単に\Project_Nameすべてのクラスで使用する必要がありますか? ただし、これにより、ファイル構造を反映する長いクラス名を作成する必要が生じ、オートロードが理解しにくくなります。

最善の方法は何だと思いますか?

4

1 に答える 1

1

解決策 3 を忘れた: aslias を使用する

use \Project_Name\System\Core\Foo;
use \Project_Name\System\Core\Bar as CoreBar;
$x = new Foo;
$y = new CoreBar;

両方のソリューションの問題は、怠惰にアプリケーションの構造を決定させることです。

于 2012-11-18T19:51:19.520 に答える