daikikiブログ

ぼくとWEBとサービスについてのブログ。

PHP namespaceとautoloadをいまさら勉強した

実験したリソースです

https://github.com/daikissdd/php-namespace-autoloader

 

学んだ結果は、これいる?という感じでした。

 

これからPHPフレームワークを触っていく上で必ず出てきてしまうので、まあしょうがないかというところでしょうか。

 

まずは namespace

 

名前空間といって、ある名前空間に入っているクラスは、他の名前空間に入っているクラスとは、別の名前名簿で管理するというものでした。

 

Dir1\Class

Dir2\Class

Class

共存出来るようになります。

 

次に、autoloadですが、

require_onceしなくても、クラスを呼んだ時点でまだクラスが存在しなければ、

指定したディレクトリを見に行って、クラスの書かれたファイルを探し出し、

ロードする仕組みです。

 

これは、PHPが用意してくれてる関数を使って自分でautoloaderクラスを

作らなければなりません。

 

この実装の中で、namespaceやディレクトリの登録などを作って行きます。

 

おしまい。