ルーティング設定

URI ルーティングのマッピング変換を設定します。
通常、Ziu ではURI ルーティングから自動マッピングされモジュールを実行しますが
例外的なマッピング文法でモジュール実行したい場合に、このルーティング設定を利用します。

ロードポジション

以下のロードポジションに配置し、順に読み込みが処理されます。
同名の定義は、後方優先で上書きされます。

  1. core/conf/routes.php : Ziu コア標準に用意されているもの (変更不可)
  2. apps/_conf/routes.php : アプリケーション全体で共有するもの
  3. 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) .* 全てにマッチします