『CakePHPガイドブック』を一通り流して読みました。
まだ実際にコードは書いていません。
ざっと読んでみた感想ですが、この本一冊あればCakePHPで開発できるようなるに思います。
CakePHPの導入から実際の開発に必要な情報まで、十分に詳しく解説されています。
おそらく定番の一冊のなることでしょう。
Chapter9のセキュリティに関する章はいいですね。
セキュリティについて、どういった点に注意しなければならないかというのは、CakePHPに精通しており、かつ、実際に開発している人でないと、なかなかわからないことです。
開発する段階では、とても参考になると思います。
日本語環境用(文字コード)の設定手順の解説も嬉しいです。
あと、ソースコードが読みやすいように感じました。
ソースコードの重要な箇所は網掛けしてありコメントがつくため、ポイントがわかりやすいです。
重要箇所だけが掲載されるのではなく、前後のソースコードが省略されずにちゃんと掲載されているので、プログラムを理解しやすいと思いました。
CakePHP 1.2についての記載があるのもいいですね。
CakePHP 1.2の登場が楽しみです。
1.2がリリースされたら、1.2対応版もぜひ出版していただきたい。
初版第一刷なので、多少の誤字・脱字・コードの間違いがあるのは仕方がないですね。
検索してみたのですが、正誤表が見つかりませんでした。そのうち公開されることと思います。
Chapter7のModelについての章で、メソッドの返値についての記載がないのが、不便に思いました。
たとえば、executeについての説明(117ページ)は次の一行だけです。
queryと同様にSQLコマンドを実行します。実行結果の返却方法に違いがあります。
executeの存在価値は、queryとの返値の違いだけです。
ならば、返値がどのように違うのかの説明がないと、実際に使用することができません。
その他にも、Chapter7では全般に返値の説明が不足しているように思いました。
詳細は「CakePHP プログラマーズ リファレンスガイド」を見るとわかりますので、問題ないかもしれません。
179ページのsubmitされているかのチェックが、他の箇所と異なっていました。
なぜここだけ違うのか、理解できませんでした。
// submitされていない場合は初期表示
if (!isset($this->params['form']['submit'])) {
他の箇所では、$this->data を確認しています。
if(empty($this->data)) {
実際にコードを書いてみると、違いに気がつくかもしれません。
206ページの「updateUser()」はおそらく「updateStatus()」の間違い。
218ページのtoLowerメソッドは、無限ループしそう。(未確認)
引数が配列の時、SimpleFilterComponent::toLower($elem) が呼ばれて、その中でもまた、SimpleFilterComponent::toLower($elem)が呼ばれて…、となりませんか。
function toLower(&$elem)
{
if (is_array($elem)) {
SimpleFilterComponent::toLower($elem);
}
$elem = strtolower($elem);
}
226ページの「DboSimpler」はおそらく「DboSimple」の間違い。
まあ、ともかくCakePHPをこれから始めるには、間違いなくお薦めの一冊です。
追記:
正誤表が公開されていますね。
共著者の一人です。
詳細なレビューありがとうございました!
ご指摘頂きました誤りについては
正誤表(現在準備中です。。。)に反映させて頂きます。
また何かお気付きの点等ありましたら、ご指摘下さいませ。