Preload (1)
Loglog は、難しいサンプルであったかもしれません。XOOPS Cube
における重要なフィーチャーは、プリ‐ロード、デリゲート、及び、 Xube_Service
です。あなたは、これらのフィーチャーによってさまざまにサイトをカスタマイズすることができます。最初は、
Preload を学んでください。
2 種類の Preload ( Site Preload と Module Preload
)があります。Site Preload は、本当にシンプルですです。
- /preload ディレクトリに XXXX.class.php を作成してください
- XCube_ActionFilter のサブクラスである XXXX
クラスを定義してください
- 目的に合わせて preFilter() と preBlockFilter
を実装してください。これらのメンバ関数は XCube_ActionFilter
の仮想関数です。
XCube_ActionFilter のメンバ関数は、コモンプロセス(XOOPS2 の
common.php と同様に、初期化プロセスを実行する)において呼び出されます。
XOOPS2
では、サイトオーナーが初期化プロセスにおいて彼らのコードを実行する方法が全くありませんでした。それをするために、彼らは、
XOOPS2 コアのソースコードを修正(=hack)しなければなりません。
プリ‐ロード、及び、 ActionFilter
は、その問題へのソリューションです。これらのフィーチャーによって、サイトオーナーは、ハックなしで初期化プロセスにおける彼らのコードを実行し得ます。そして彼らはそれを。
あなたはプリロードファイルが新たなパブリケーション単位であることを理解します。サイトオーナーはそれを彼らの友人と共有するかもしれません。そして、彼らはそれをモジュールやテーマと同様にリリースすることが可能です。
Preload は多目的に使えます。
- カスタマイズのための初期化コードの実行
- 自分の関数を他のモジュールのデリゲートに追加
- サービスやデリゲート関数を定義し、他のモジュールのためにそれをコアに追加
- コアのオブジェクトの交換
- 必須ライブラリのロード