CakePHPで携帯サイト

人気PHPフレームワークのCakePHPでPC兼携帯サイトを構築するときに利用すると便利な方法を記述します。
CakePHP1.2未満のバージョンならこちらの方のブログがとってもわかりやすいです。
http://www.syuhari.jp/blog/archives/121
CakePHP1.2の場合は、こちらのページが参考
http://www.1×1.jp/blog/2008/04/cakephp_12_routing_prefix.html
Cakephp1.2未満では、ルーティングの機能であるwebservicesを利用する。
しかし、Cakephp1.2ではwebservicesは一切利用することができないので、
prefixを利用します。
prefixは "app/config/routes.php"で呼び出し利用します。
routes.php内では下記のように設定
+++"routes.php"++++++++++++++
Router::connect('/m/:controller/:action', array('prefix' => 'mobile'))
++++++++++++++++++++++++++
上のソースはこちらを利用させていただきました。
簡単に説明します。
Controllersにexamples_controllerというコントローラーファイルがあるとします。
そのなかで function index(){}
っと言った感じで、index関数を作成し、app/views/examples/index.ctpというviewファイルを作成すると、
http://ドメイン/examples/
っでアクセスすることができますよね。
このコントローラファイルに、function mobile_index(){}
という関数を作成して、app/views/examples/mobile_index.ctpというviewファイルを作成すると、
http://ドメイン/m/exmples/
っでアクセスすることができるようになります。
これで上記のソースの/m/ の部分と'prefix' =>'mobile'の意味がわかったと思います。
もし、上記のソースコードを
++++++++++++++
Router::connect('/k/:controller/:action', array('prefix' => 'keitai'))
++++++++++++++
に変更すると、examples_controllerでは、
function keitai_indexという関数を作成し、viewは、keitai_index.ctpというファイルを作成する。
アクセスする場合は
http://ドメイン/k/examples/
っでアクセスすることができるということです。