FuelPHPのパッケージを利用する場合、config.phpを書き換えます。
そう思い込んでいましたが、別の手段もあります。
Package::load('パッケージ')です。
FuelPHPを始めPHP5上で動作するフレームワークはオートロードの仕組みを取り入れ、不必要なクラスを全部予め読み込んでおくという、無駄なオーバーヘッドをかけないようにしています。
FuelPHPでもclasses下に存在する、コントローラークラスやモデルのクラスを探して、読み込んでくれますが、パッケージは読み込んでくれません。通常パッケージは単純なクラス一つだけではないからです。(とはいえ、パッケージにあるクラス全部を一度に読み込んでいるわけではないようです。パッケージのロードとは、パッケージ下のクラスを読み込む準備を行うだけで、実際クラスがロードされるのは、利用される前です。)
パッケージを利用するにはconfig.phpのいつもオートロードするパッケージに指定することになっています。ドキュメントでもそうなっていますし、色々なチュートリアルでもそう説明されています。
私も、この方法しかないかと思っていました。しかし、他の人のパッケージを眺めていたら、Package::load()という関数名が目に飛び込んできました。
これも利用できます。
まず、安全策としてはconfig.phpに書いておくことを第一に考えましょう。たぶん、この方法では、二重にパッケージを呼びだしてしまう、リスク(何が起きるか調べていませんが)を避けることができます。
ただ、どこか一箇所でしか使わないパッケージのため、config.phpに追加していくと、当然毎回アクセス時に余計なオーバーヘッドがかかるようになります。明確に一箇所でしか利用しないパッケージであれば、利用したいクラスのbefore()か__init()にPackage::load()を書くという手段もあります。
まあ、たくさんアクセスのあるサイトで、かつ利用しているパッケージ数が多い場合、こうした手段もわずかながら、お役に立つでしょう。
| FuelPHP、Markdownを簡単に表示する< 前 | 次 >FuelPHP、言語ファイル設定パッケージ |
|---|
| < 前 | 次 > |
|---|