Curry
PHP Framework

core

db

html

utility

InitializerStandard

クラス概要

アプリケーションの初期設定を行うためのクラスです。
このクラスはディスパッチ処理の中で自動的にインスタンスが生成され、curry.iniによる設定値値の適用が行なわれます。
また、このクラスを継承することで任意の初期設定処理を記述することも可能です。
この機能を利用するには以下の条件をみたす必要があります。

・アプリケーションディレクトリ(デフォルトでは"site/app/")直下にinitializer.phpが存在する
・そのファイル内にInitializerという名前でクラスが定義されている
・InitializerAbstractを継承している
・initilizeメソッドが定義されている

initializeメソッドは定義するだけでフレームワークより自動的に実行されます。
実行タイミングはcurry.iniの適用処理の直後のため、curry.iniで設定できる内容をこのメソッドの中でも設定するとこちらが優先されます。
またこのメソッドの実行タイミングはURIルーティング処理よりも前のタイミングとなるため、URIからのコントローラーやアクションまたはパラメーターなどのリクエスト情報がまだ得られておらず、これらを参照する必要のある処理はできません。

【バージョン1.4.0以降】
このクラスを継承したInitializerクラスで"init" + アプリケーション環境変数(APP_ENV)の名前規則でメソッドを定義すると、そのメソッドが自動的に実行されます。例えば環境変数APP_ENVが"product"の場合はInitializer::iniProductメソッドが実行されます。

Curry対応バージョン

バージョン 1.3.0 以降

クラスファイル位置

curry/core/initializer_standard.php

フィールド

フィールド名 アクセス 概要
$dispatcher protected Dispatcher Dispatcherクラスのインスタンス
$router protected Router Routerクラスのインスタンス

メソッド

メソッド名 アクセス 概要
initialize public 任意の初期設定処理を実行します。
InitalizerStandardクラスとしては何も行わない空のメソッドですが、このクラスを継承したクラスでオーバーライドし、処理を記述することで、任意の初期処理が自動的に事項されます。
setDispatcher public Disptacherクラスのインスタンスをセットします。
通常はDispatcher::dispatchei内で自動的に実行され、ユーザーが意識することはありません。
setRouter public Routerクラスのインスタンスをセットします。
通常はDispatcher::dispatchei内で自動的に実行され、ユーザーが意識することはありません。
applyConfig public curry.iniの設定値を実際に適用するメソッドです。
通常はDispatcher::dispatchei内で自動的に実行され、ユーザーが意識することはありません。
initEnv public 環境変数に依存する初期化処理を行います。
通常はDispatcher::dispatchei内で自動的に実行され、ユーザーが意識することはありません。

※バージョン1.4.0以降