ルーティング設定
URI ルーティングのマッピング変換を設定します。
通常、Ziu ではURI ルーティングから自動マッピングされモジュールを実行しますが
例外的なマッピング文法でモジュール実行したい場合に、このルーティング設定を利用します。
ロードポジション
以下のロードポジションに配置し、順に読み込みが処理されます。
同名の定義は、後方優先で上書きされます。
core/conf/routes.php
: Ziu コア標準に用意されているもの (変更不可)apps/_conf/routes.php
: アプリケーション全体で共有するものapps/(アプリケーションフォルダ名)/_conf/routes.php
: アプリケーションごとに用意するもの
ルーティング設定は、Ziu 内部で利用します。ヘルパー関数を用いる必要はありません。
設定方法
ファイル名は routes.php
で作成、記述は配列で返します。 return array();
デフォルトモジュール
'_def_' => 'welcome',
Ziu ルートURL、つまり Ziu のディスパッチャーが配置されているフォルダに直接アクセスした場合の デフォルトモジュール を指定します。
404エラーモジュール
'_404_' => 'http_status/404',
モジュールが存在しない場合にエラー表示する為の 404エラーモジュール を指定します。
500エラーモジュール
'_500_' => 'http_status/500',
実行環境が開発環境以外の時(is_dev()
がFALSE)、プログラムエラーが発生した場合にエラー表示する為の 500エラーモジュール を指定します。
以上までが必須設定であり、コア標準のデフォルト内容です。
URI ルーティングと異なるモジュールを実行する
これ以降の内容は、URI ルーティングを任意のパターンマッチングでモジュール実行を可能にします。
'member/list' => 'user/list',
シンプルに異なるモジュールへマッピングします。
'member/info_(:any)_(:any)' => 'member/info/$1/$2',
URI ルーティングの値を補完し、モジュールへ調整指定してマッピングします。
'item/list/page_(:num)' => 'item/list/$1',
URI ルーティングの数値を補完し、モジュールへ調整指定してマッピングします。
'item/detail/(:seg)/(:seg)' => 'item/detail/$1/$2',
URI ルーティングのスラッシュセグメントを補完し、モジュールへ調整指定してマッピングします。
補完タグ
タグ | 正規表現 | 内容 |
---|---|---|
(:num) | [0-9]+ | 数字にマッチします |
(:seg) | [^/]+ | スラッシュセグメントにマッチします |
(:any) | .* | 全てにマッチします |