スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

routing.ymlについて

$_GETで受けとるときの指定を行う。
(プロジェクト名)/(アプリケーション名)/config配下に存在する。

[指定例]
reply_add:
   url: /reply/input/:id
   param: {module: reply, action: input}

reply_addの部分は任意の名前。ただし、重複は不可。
urlは、accessされるURL名
module:の後はモジュール名(リダイレクト先のモジュール名)
action:の後はアクション名(リダイレクト先のアクション名)
urlとparamの先頭2桁は必ず半角スペースを2桁入れる。
url:とparam:の後は半角スペースをひとつ空ける。
この指定は、link_toヘルパーを使用または、
aタグを使用してパラメータを省略して受け渡したいときは
必ず必要になる。

上記の例は、replyモジュール内(replyフォルダ)のaction.class.php内の
executeInput内で$_GETで受け取る変数をidという項目とする。
この例は、URLがモジュール名とアクション名と同じになっているが、
URLを別のものにすると、リダイレクトすることができる。

複数のパラメータを受け渡したいときは、
続けて記述する。
[指定例]
reply_add:
   url: /reply/input/:id :id2
   param: {module: reply, action: input}

routing.ymlの記述は、重複する記述
(reply_add:の部分)がある場合、
最後に書かれたものが優先されるので注意すること。


重複して設定すると、予期しない動作になることがある。
つまり、以下のような設定は予期しない動作になることがある。

pastarticle:
  url:   /index/contri/:pastymd
  param: { module: index, action: contri }
categorys:
  url:   /index/contri/:category
  param: { module: index, action: contri }

上記の場合、param側のモジュール名とaction名が重複しているため、
pastymdなのかcategoryなのかがアクション側で判定ができない。
切り分けたい場合は、わたってきた内容で判断するか、
従来どおり、aタグで記述するようにする。

初期値として書かれているものは
一番最後にするのが望ましい。

routing.ymlでURLの制御ができるのは、
フロントコントローラー以降のURLなので注意すること。

フロントコントローラーのURLを制御するときは、htaccessを制御する。


スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。