私は自分のプロジェクトを簡単にコピー&ペーストして相互に貼り付けることができますようにしたいと思います。不明なプロジェクトレベルのAutoLoader
私のプロジェクトの構造はProjectName /(bin、config、lib)です。
コピー+貼り付け後、私はProjectName1/lib/ProjectName2/lib/ProjectName3 /のようなチェーンを持っています。
オートローダが、ファイルが呼び出されたレベルに従ってファイルを検索すると、これは素晴らしいことです。
たとえば、ProjectName1/lib/ProjectName2/lib /内のクラスが "new Config"を呼び出す場合は、ProjectName1/lib/ProjectName2/config/config.phpにあるconfigファイルを受け取る必要があります。
(但し、ProjectName1/config/config.phpのいずれも、ProjectName1/lib/ProjectName2/lib/ProjectName3/config/config.phpのいずれもオンではありません)。
これを行う方法はありますか?
編集: ファイルを一意にすることは意味がありますか?例: 'config.php'が 'ProjectName2Config.php'だった場合、競合する可能性はほとんどありません。そのため、オートローダーはどこからでも検索でき、最終的にファイルであることがわかります。
編集: 各プロジェクトでは、コピー+貼り付けのために自分のオートローダを使用できます。しかし、私はProjectName1のものだけをロードすると思った。それぞれを簡単にとどめることができるように、それらをすべてロードする方が良いでしょうか?
乾杯、 ピーター
PS:私はちょうど休憩をプログラミング3年から戻ってきました。上記のことが世俗的に悪い考えで、私に理由を教えてもらえればうれしいです:-)
ちょうどそれを行うphp関数を書いて、それをオートローダーとして登録してください。欠点は、コーディングツールが正しいクラスを見つけるのに苦労するかもしれないということかもしれません。構造が十分に乱雑になる場合は、そうかもしれません。 (http://php.net/manual/en/function.spl-autoload-register.php) –