CodeIgniterの処理の流れについて
フロントコントローラーからどのようにしてコントローラーが呼び出されるかをメモ代わりに記述。
index.phpでは、基本的なディレクトリ設定を行う。その後、codeigniter/CodeIgniter.phpを呼び出す。
CodeIgniter.phpでの流れ
Common.phpをrequire 基本関数の設定とロード関数を定義
Compat.phpをrequire
set_error_handler('_exception_handler');
set_magic_quotes_runtime(0); // Kill magic quotes
ベンチマーククラスのロード
フッククラスのロード
- プレシステムフックのロード
コンフィグクラスのロード
URIクラスのロード
ルータークラスのロード
アウトプットクラスのロード
- cache_overrideフックがFALSEの判定
Inputクラスのロード
言語クラスのロード
PHPのバージョンを判定してBaseクラスのロード
ベースコントローラーのロード
- アプリケーションのコントローラーがなければエラー
- コントローラー呼び出し
クラス名取得
メソッド名取得
メソッドの存在判定(プライベートメソッドも判定)
- プレコントローラーフックの読み込み
コントローラーをインスタンス化
- ポストコントローラーコンストラクタを読み込み
- ポストコントローラを読み込み
- display_overrideフックの判定
- post_systemフックの読み込み
CI_DBがある場合は最後にDBクローズ