PHP

CakePHPでコントローラーの呼び出しURLを変更する

投稿日:2014/03/07 更新日:

CakePHPでは基本的にURLとコントローラーは一致します。
例えば
/users/index
というURLの場合、呼び出されるコントローラーは
UsersController
が呼び出されます。

ですが、これを変更したいということがかなり発生すると思います。
例えば、ユーザーに管理画面を公開する場合などに
/user/blog/add
のようにすると
UserBlogController
が呼び出されるように変更する方法です。
Config/routes.phpを修正します。

例えば、/user/blog/をUserBlogControllerに設定する場合は

Router::connect('/user/blog/*', array('controller' => 'user_blog'));

のように設定することで可能になります。

ここまで来ると、コントローラーやビューの階層構造をURLに合わせたくなるのですが、これは今のところ見送っています。
機能が多ければ、せざるを得ないと思いますがコントローラーを増やすたびに設定を変更する必要があるみたいで現実的ではないのと、やっぱりフレームワークの作法に従ったほうがよいだろうという思いからです。

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

WindowsにLaravel 5.4をインストールする

どうもPHP初心者、Laravel初心者のものです。 今回の案件ではPHPのフレームワークにLaravelを使うことにしましたのでインストール手順をまとめたいと思います。 環境 ホストOS:Windo …

CakePHP2.4系のインストールと設定方法

今までずーっとJava/サーブレット関連の開発をしていたのですが世の中の流れか不明ですが、今回PHPの開発をすることになりました。 少し触ったことがある程度で、フレームワークとかは何も使っていない素の …

Laravelでテーブルの主キーに文字列型を使う場合のモデルの定義

ポストタイトルの通りなんですけどLaravelでテーブルの主キーに文字列型を使う場合ですがModel#findで検索すると結果は帰ってくるのですが主キー項目の値を表示されると0と表示されてしまいました …

mixhostにPHP Deployerを使ってデプロイする

今年の夏に、このブログのホスティング環境をmixhostに切り替えました。 mixhostはComposerも使えるのでDeployerでデプロイに挑戦してみました。 Gitのインストール Deplo …

CakePHPでビューからコンポーネントを呼び出す方法

CakePHPで各ビューで特定の処理をコンポーネントでまとめて呼び出したい場合があると思います。 単純に考えるとビューにコンポーネントをセットすればよいと思いますが、ヘルパーからコンポーネントを呼び出 …