CakePHP2.0の初期設定とcakeをbakeで焼きましょう

CakePHP Advent Calendar 2011に触発されたので、「勝手にCakePHP Advent Calendar 2011」ということにして記事を書いてみます。

お題は「CakePHP2.0の初期設定とcakeをbakeで焼きましょう」です。

CakePHPをインストール

とりあえずCakePHPを落とします。
2.0系を使いたかったので、僕がやったときの最新の安定版である2.0.4にしました。

必要なさそうなファイルは削除しておきます。

今回は http://tnnsst35.me/cakephp/ にアクセスすることを前提に話を進めていきます。
作ったcakephp直下に http://tnnsst35.me/cakephp/ でアクセスできるように移動しておきます。
※なお、実際にこのURLにアクセスしてもなにも出てきません。自分用に置き換えてください。

CakePHPの初期設定

ブラウザからアクセスするときっとエラーが続出するので直していきます。


※緑が正常。黄は警告。赤はエラーです。黄と赤がなくなればOKです。

Please change the value of ‘Security.salt’ in app/Config/core.php to a salt value specific to your application
187行目 app/Config/core.php

Please change the value of ‘Security.cipherSeed’ in app/Config/core.php to a numeric (digits only) seed value specific to your application
192行目 app/Config/core.php

Your tmp directory is NOT writable.

Your database configuration file is NOT present. Rename APP/Config/database.php.default to APP/Config/database.php
言われた通りにdatabase.php.defaultをdatabase.phpにする。

ファイルの中のDATABASE_CONFIGクラスの$defaultに利用するデータベースの情報を入れる。

エラーはすっきり消えて、セットアップ完了となる(はずです)。
もし、まだ何かエラー出ていたら調べましょう。

ページをつくってみる

アプリケーションのホームになる画面をつくります。

http://tnnsst35.me/cakephp/home/

このURLでアクセスできるようにしてみます。

何をどう書き始めたらよいかわからない人でも心配はいりません。
CakePHPにはbakeというコードのひな形を生成してくれるプログラムがついているので、bakeを使うと便利です。

これで app/Controller/HomeController.php が出来上がっています。

ただコレだけでは動かないので、HomeControllerにindexメソッドを追加してやります。

これでひとまずControllerはできたので次はViewを作ります。

もちろんbakeを使います。

View/Home/index.ctp が焼き上がりました。
と言っても中身は空なので、確認用に何か入れておきます。

ここまで終わったらブラウザからhttp://tnnsst35.me/cakephp/home/を確認してみます。
きっと「Homeだお」という文字が表示されていると思います。

ルートを変更する

アプリケーションのホームができましたね。
ただ、ホームというからには / でも /home と同じ内容を表示したいですよね。
なので / でアクセスされたときの制御を変更します。
ルーティングの設定は app/Config/routes.php の中にあります。
28行目を変更します。

http://tnnsst35.me/cakephp/ にブラウザからアクセスしてみます。
http://tnnsst35.me/cakephp/home と同じ内容が表示されるようになりました。

とりあえずこれでCakePHPを使い始めることはできるようになりました。
あとは好きにアプリケーションを作っていきましょう。

まとめ

・CakePHPのインストールと設定は簡単
・コードのひな形はbakeを使うのがオススメ
・ケーキを食べたくなる

今回やったようにCakePHPは「サーバの設定」などが特に必要なく簡単に導入できるという利点があります。

学習コストも低めだと思います。
僕自身、初めて触ったフレームワークはCakePHPでしたが、「MVC」という単語を知らなくても簡単にMVCが理解できて、コードを書くのも簡単なので初心者にはオススメのフレームワークです。
完全初心者の頃にsymfonyをやって難しすぎて気が狂いそうになった思い出があります。

巷でも「はやい」と噂のCodeigniterやFuelPHPに比べれば遅いという欠点もありますが、それなりに大規模プロジェクトでも使えると思っています。
機能がいろいろ詰め込まれているsymfonyに比べれば役不足かもしれませんが、その分無駄なものは少ないので学習コスト低めでシンプルに扱えます。
Pluginを公開してる人も結構います。

あとはアイコンがケーキなので甘党の人にもオススメです。
ケーキが食べたくなります。

おまけ

CakePHP関連のTipsといえば、元CakePHP開発者の人が立ち上げたLithiumがあったりします。
LithiumもMVCフレームワークで、以前少し試したことがあります。
PHP5.3で登場した「名前空間」がバリバリ使われていて、\hoge\foo\bar(); みたいな記述が山のようにあります。
個人的には「ちょっと見づらいな」と思ってしまって、そっと「:q!」を打ってしまいました。
※まぁこれは名前空間の恩恵をまだわかっていないから思うだけかもしれませんが。

次回はCakePHPでスマートフォン向けのページを作るのをやってみようと思う。
おわり。

Pocket

Posted in CakePHP, PHP.

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">