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の開発をすることになりました。 少し触ったことがある程度で、フレームワークとかは何も使っていない素の …

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

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

CakePHPで簡単なコントローラーとビューの作成

先日こちらの記事でCakePHPのインストールを行いました。 今回はとりあえず最初の一歩としてコントローラーとビューを使ってみたいと思います。 最終的な目標はすごい簡単で/cake/hello/にアク …

CakePHPで簡単なモデルを作る

前回、簡単なビューとコントローラーを作ったので今回はモデルを作ってみたいと思います。 テーブル名と作成するモデルファイル名はCakePHPの命名規則がありますので、基本的にはそのルールにしたがって作成 …

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

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