CodeIgniter 4.1の処理の流れ
(2022-10-31 追記) 「CodeIgniter 4.3の処理の流れ」 を書きました。
CodeIgniter 4.1の処理の流れをまとめました。
public/index.php
- PHPのバージョンをチェック
- 定数
FCPATHを定義 Config\Pathsをインスタンス化system/bootstrap.phpをロードしCodeIgniterをインスタンス化し$appに代入$app->run()
system/bootstrap.php
- パスに関する定数を定義
Config/Constants.phpをロードCommon.phpをロード- オートローダーをロード
- サービスロケーターをロード
- オートローダーを初期化
- Composerオートローダーをロード
DotEnvをインスタンス化し実行CodeIgniterをインスタンス化して$appに代入$app->initialize()$appを返す
CodeIgniter::initialize()
- 環境を検出
- 環境別のbootファイル(
Config/Boot/環境.php)をロード - 例外ハンドラを設定
- PHP機能拡張をチェック
- デフォルトロケールを設定
- デフォルトタイムゾーンを設定
- Kintを初期化
CodeIgniter::run()
- Requestオブジェクトを取得
- Responseオブジェクトを取得
forceGlobalSecureRequestsを処理- リクエストメソッドSpoofingを処理
- ページキャッシュをチェック
- リクエストを処理(
handleRequest())
CodeIgniter::handleRequest()
- ルーティングを処理しフィルターを検索
- フィルターがあれば有効化
- beforeフィルターを実行
- コントローラを実行
- クロージャーコントローラーなら実行
- コントローラーをインスタンス化
- コントローラーのメソッドを実行
- 出力を収集
- afterフィルターを実行
- Responseを送信
- Responseオブジェクトを返す
関連
Date: 2021/02/19



![徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応 徹底攻略PHP5技術者認定[上級]試験問題集 [PJ0-200]対応](http://tatsu-zine.com/images/books/164/cover_s.jpg)

