Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 2.53 KB

onInit.wiki

File metadata and controls

44 lines (35 loc) · 2.53 KB

  1. summary 初期化(init)ハンドラ

Table of Contents

導入

インジェクションハンドラで用意(注入)された変数やサービス(オブジェクト)を使ってリソースアクセスをしページにセットします。

詳細

初期化(init)ハンドラではリソースアクセスが主な仕事です。onInject()でインジェクトした$argsに基づいてリソースアクセスします。$argsはFirePHP環境では常にFirePHPコンソールに表示されます。またリソースのセットはテンプレートではなく、まずページに対して行われます。それがキャッシュされるのがinitキャッシュです。ページの実行時(BEAR_Main::run()のオプションで指定することができます。

onInit()内で出力をすることはできません。たとえecho文などを記述してもライブモードでは出力はすべてキャンセルされます。デバック出力や不用意なincludeによる改行の出力も同様です。※デバックモードの時はonInit()で画面出力されたものは全て破線の内側に表示され、onInit()内での出力がされた事を表します。

注意

 * `$_GET`や`$_COOKIE`の値など外部環境に依存する値を直接取得しないようにします。(それらの依存はonInject内で$argsに対してインジェクトします。)onInit()内はあくまでインジェクトで与えられた変数やサービスだけで処理を記述します。※ページ以外のクライアントやテストのためです。

 * HTMLの組み立ては行わないようにします。

ソースサンプル