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

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

関連記事

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

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

CakePHPで独自のコントローラーを継承する方法

CakePHPで独自に作ったコントローラーを継承する方法を調べました。 自分はJavaをよく使っていたというのは変かもしれませんがコントローラーの継承というのはそれほど違和感はないのですがCakePH …

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

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

no image

Windows7でXAMPPを使う <設定編>

前回、インストールを行ったので今回設定をしてみたいと思います。 前提条件として、外部には公開しないので、ガチガチに設定は行いませんが必要最低限の設定を行いたいと思います。 といっても、ほとんど設定する …

Deployerでデプロイ時にGrafanaのアノテーションをつける

今作っているLaravelのプロジェクトはそれほど大きくないのでDeployerを使ってデプロイしています。 Zabbixを使ってAPサーバーとDBサーバーのメトリクスを取っているのでGrafanaを …