BlogCakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。久しぶりのブログ更新です。かけなくてスミマセン...さて、更新が止まっているうちにCakePHPの本がいくつか出たり出したりしましたので、ここでまとめて書評&ご紹介いたします。「CakePHP2実践入門」CakePHPコミュニティで活躍されている皆さんが執筆された待望の一冊。以前は「CakePHPガイドブック」という本がありましたが、あれの改訂版とも言える内容です。CakePHPの概要的な話から始まり、コントローラ・モデル・ビューの作り方、ビヘイビア・コンポーネント・ヘルパー・プラグイン、ユニットテスト...といった基本的な使い方を押さえ、さらに現在のポピュラーなCakePHP開発の手法をこの一冊にまとめたといった感じです。献本いただいて一通り読んでみましたが、この本のターゲットは「CakePHPを一通り触ってみた初級者〜中級者」が一番しっくりくるのではないかと思います。一度Cakeを触った方は、この本の随所にちりばめられた有用なTips・手法が大変に役に立つと思います。メール関連、デプロイ関連の章は即戦力でかなり役に立つと思います。反面、「本当にCakePHP(あるいはMVCフレームワーク)が初めての方」には向いていないかもしれません。いうのは、CakePHPのシステムが最初の段階である程度理解できていないと内容についていけないところが若干あります。Cakeの学習ではDBとモデルの関係性の理解に一番時間をかけたので、あの題材ならどちらかというとまずモデルの解説から入って欲しかった)。ページ数も少ないため、全てのレベルの方に向けた本を一冊で完結するのは難しいでしょう。チュートリアル的に流れに沿って学習したいのであれば別の書籍も併用されると良いかもしれません(その「別の書籍」は後述で)。豪華執筆陣の本だけあって中の情報は確かなものです。初級者は勿論、ある程度使い込んだ方でも持っていて損はないでしょう。幸いなことにCakePHPの書籍は他のPHPフレームワークと比べて沢山あるのですが、これぞ真打ち!的な本です。アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。※「サンプルコードがない」という記述をしていましたが、githubで公開されているそうです。「CakePHP入門書」の定番であり、対応バージョンが1.2→1.3→2.1と改訂されていった伝統ある本です。入門書に徹した内容であり、プログラミング初級者でも分かりやすいです。この本の魅力は「サンプルコードがダウンロード可能」な点で、そのコードを実際に動作させて学習できるところが良いと思います。学習できる範囲もかなり絞り込まれており、最初には丁度良いです。私自身、「全く分からない人に伝える」というのが大変に難しくいつも苦労しているのですが、とても見習いたい部分です。反面「2.1版なのに若干古い技術が使われているところがある」点があります。本編ではリクエストデータの取り出しに「$this->request->data」ではなく「$this->data」が使われてしまっています。今のところこれでも動きますが、推奨されたものではないためあまり良いとは言えません。それから詳細なCakeの学習には向いていないため、すぐに次の本が必要になる点かと思います。アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。記事に書くのが大変に遅くなってしまったのですが、今年の春にGreativeの原氏と共著で発刊させていただきました。今までのCake本はほぼプログラマー向けに書かれたものですが、本書は「Webデザイナー向け」という野心的なものです(笑)。本書を企画したきっかけは、昨年に開催際した「(第一回)デザイナー向けCakePHP勉強会」でした。懇親会等でいろいろなデザイナーさん・コーダーさんとお話させていただいた際に、「もっと勉強してみたい」という声がたくさんあったので、是非書籍にそのエッセンスをまとめられたらなと思い、企画を出版社に持ち込みました。デザイナーにあてたWebプログラミング技術書というのはあまり例がないため(スマホアプリ開発本はあると思いますが)、出版社側は冒険だったでしょうが、快く企画を通していただけました。余談になるのですが、当方はかなり前から「プログラマーとデザイナーのコラボレーション方法」という点でいろいろ模索していて、Smartyを使ってみたり、別のテンプレートを考案してみたり、「Tplcutter」というHTMLを切り出してビューにするものを開発してみたりしたのですが、こういった解決方法をするにしても、やはりシステムを理解して貰う必要がどうしてもあり、「フレームワーク」あるいは「MVC」といったものの共通認識は必要なんじゃないかと考えるようになりました。ノンプログラマー的な方が理解可能な書籍はなかなかないため(基本的にフレームワーク本はプログラマーの目から見ても十分難易度が高いと思う)、もっとしきいの低いところで実現する方法はないかと考えていました。テーマとか作れるようになったら、他のCake案件も頼めるのではないか?」というところで期待をしている感じです。制作の流れを簡単に解説しています。基本的に全編通してチュートリアル形式になっていますが、サンプルコードがあらかじめスタートと完成形両方が収録されていて、確認が容易にできるようになっています。サンプルの内容は「問い合わせフォーム」が題材になっており、表画面と裏画面の両方の制作を行うようになっています。Webの案件はほぼこの題材の応用でやっていけるでしょうから、必要最低限の学習で実践できるような内容にしました。チュートリアル形式ということで、CakePHPの動作する環境が必要になるのですが、例えばローカルにXAMPP等を入れていると動かないケースがどうしても出てしまうので、本書では思い切って「バーチャルマシン」を用いてCakePHPの動作するLinux環境をダウンロードできるようにしました。具体的にはVirtualBoxを導入して仮想マシンファイルをサンプルダウンロードサイトから入手・展開し、本書の解説に従って進めていただければ極力環境依存がないようになっています(勿論、サンプルコード単体を入手して試すこともできます。gitを使ってコラボレーションする方法や、CSSフレームワークである「Compass」を使ったりとか、かなりモダンな開発スタイルも解説したりしています。本書の活用方法は、表題の通りデザイナーさん・コーダーさん向けの学習教材ではありますが、Cakeバリバリのプログラマーさんにも是非買っていただいて、案件でコーダーさんあたりに発注する際に「この本を読んで、ビューまで作って!」と言えるような内容を目指しました。こちらがメインです(笑)。Cake案件で是非活用いただけますと、野望の一つが達せられる感じです。幸いなことに、Amazonの書評で、初級者プログラマーさんにも役立つ本と好評いただいて、嬉しい限りです。以外の部分については、他の本で補っていただけると良いのではないかと思います。アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。CakePHP2実践入門という感じと思います。カッコについては「あると便利」の位置づけです。基本的に、どれが良い・悪いというのはなく、用途によってどれもオススメできる本です。「CakePHP辞典2(仮)」について最後に。CakePHP1.2/1.3対応で書きました「CakePHP辞典」ですが、残念ながらCakePHP2系では仕様が変わってしまい、そのままで使うことは若干難しいです。そこで、「ビューコーディング入門」脱稿後から「辞典2」の執筆をスタートし、現在折り返し地点を過ぎたところです。予定では、年内中には刊行できると思います。できるだけ早い段階で書店に並ぶように頑張っています。Cake2になって仕様変更になった部分は網羅し、新しいクラスや仕組みについてもかなりの量を追加しています。前回収録できなかったテストについても予定しています。本当は全部掲載したいのですが、それだとものすごい量になってしまいますので、実務上問題ない範囲でできる限りの情報を詰め込んでいます。プロパティのオプション値についても、詳細に書いている点はもちろん従来と変わりません。内容はざっと見積もりですがおそらくそのままいくと5割増しかと思います(!!!)。なってくると自立するどころではなくなってくるのですが、何らかの工夫をする予定です。いうわけで、若干お待たせしている辞典2ですが、鋭意執筆中なのでもう少しお待ちいただけますと幸いです。ページの都合上バージョン1系には対応しておりませんので、バージョン1系をお使いの場合は現行の「CakePHP辞典」を併せてご利用くださいませ。