『CakePHPガイドブック』レビュー

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をこれから始めるには、間違いなくお薦めの一冊です。

追記:
正誤表が公開されていますね。

コメント

  1. 共著者の一人です。
    詳細なレビューありがとうございました!

    ご指摘頂きました誤りについては
    正誤表(現在準備中です。。。)に反映させて頂きます。

    また何かお気付きの点等ありましたら、ご指摘下さいませ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください