Nullyのぶろぐ

仙台で働くエンジニアの日記

Bootstrapからリソースを追加する

Bootstrap.phpを利用してリソースタイプを追加します。

これはモジュール別Bootstrap.phpにも使えます。

はじめに

モジュール別Bootstrapとapplication直下にあるBootstrapをまとめてBootstrapと呼びますのであらかじめご了承下さい。

Autoloadを行う

まずはBootstrap内に_initAutoloaderっぽいメソッドを建てます。

Autoloadは何をするかと言うと、自動で呼び出せる(require_onceとかしなくてもOK!)ように調整を行ってくれます。

初期状態だと、「DbTable」、「Form」、「Model」、「Plugin」、「Service」、「ViewHelper」、「ViewFilter」が定義されます。

これだけじゃたりないなーといった場合は、Autoload出来るようにリソースを追加する事が出来ます。

ここに例えば「Action」と追加したい場合は以下のようになります。

$autoloader = new Zend_Application_Module_Autoloader(array(

"namespace" => "[name_space]",

"basePath" => "[base_path]"

));

$autoloader->addResourceType("action", "action", "Action") ;// ←ここ

// getResource() メソッドで取得出来るようにする為値を返却します。

return $autoloader ;

「←ここ」の部分がミソで、引数は3つ取ります。

第1はタイプ、第2はパス、第3はネームスペースを指定します。

これにより、自動で読み込まれ、いちいちrequire_once()と書かなくてすみます。

(元々そういう構造なので、構造に合わせるため)

どういうときにうまく使える?

データベースをさくっと呼び出せたり、フォームをさくっと呼び出せたり、拡張したフォームを配置しそれを呼び出すことも可能です。

なのであらゆる場面で使えると思います。

後は命名センスが・・・w