PHP namespaceとautoloadをいまさら勉強した
実験したリソースです
https://github.com/daikissdd/php-namespace-autoloader
学んだ結果は、これいる?という感じでした。
これからPHPのフレームワークを触っていく上で必ず出てきてしまうので、まあしょうがないかというところでしょうか。
まずは namespace
名前空間といって、ある名前空間に入っているクラスは、他の名前空間に入っているクラスとは、別の名前名簿で管理するというものでした。
Dir1\Class
Dir2\Class
Class
は共存出来るようになります。
次に、autoloadですが、
require_onceしなくても、クラスを呼んだ時点でまだクラスが存在しなければ、
指定したディレクトリを見に行って、クラスの書かれたファイルを探し出し、
ロードする仕組みです。
これは、PHPが用意してくれてる関数を使って自分でautoloaderクラスを
作らなければなりません。
この実装の中で、namespaceやディレクトリの登録などを作って行きます。
おしまい。