init.phpの一連の処理
前回記載したDokuWikiのメインスクリプトであるdoku.phpの「コアシステムを初期化」にあたるスクリプトであるinit.php(2011-05-25a)の一連の処理を概ねまとめて見た。
一連の処理
- 処理開始時刻をグローバル変数に定義
- プリロード設定のインクルード
- DokuWikiルートディレクトリをグローバル変数に定義
- プラグインディレクトリをグローバル変数に定義
- 設定ディレクトリをグローバル変数に定義
- エラー表示レベルの設定
- カスケード設定のインクルード
- グローバル設定のインクルード
- 言語設定のインクルード
- ライセンスファイルのインクルード
- タイムゾーンの設定
- ベースURLをグローバル変数に設定
- 改行/タブ文字列の定義
- クッキー(セッション)IDをグローバル変数に定義
- メインスクリプト(doku.php)をグローバル変数に定義
- テンプレートURLをグローバル変数に定義
- テンプレートディレクトリをグローバル変数に定義
- URL引き数セパレータを'&'に設定
- ZLIB圧縮出力をオフに設定
- Perl正規表現のバックトレース限度を20971520に設定
- ブラウザがZLIB圧縮をサポートしている場合、ZLIB圧縮出力ハンドラを設定
- セッションを開始
- GET/POST/COOKIE/REQUESTからDB特殊文字クォートを削除
- REQUESTをGET/POSTの連結で置き換え(COKKIEを削除)
- purgeリクエストを未設定に変更
- コンテンツのbzopen関数が使用不可の場合はgz圧縮に、gzopen関数が使用不可の場合は圧縮なしに設定
- 日時フォーマットが未定義の場合、初期値を定義
- ファイル作成時のパーミッションを定義
- 各種ディレクトリを定義
- 存在しないファイルを初期化
- プラグインコントローラクラスをセットアップ
- ライブラリ群をロード
- プラグインコントローラを初期化
- イベントハンドラを初期化
- 認証機能をセットアップ
- メール機能をセットアップ