最近読んだ書籍を紹介します。
「効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門」
タイトル、表紙、裏表紙のどこにも書いていないんですが、最近公開されたフレームワーク「Symfony2.0」を使い方を覚えるのにとても役立ちます。
効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門
本の内容
Amazonの紹介文はこんな感じの内容です。本書はプログラミング経験者向けに,より良いプログラムを書くためのノウハウを解説した書籍です。実際にアプリケーションを開発するときはフレームワークでカバーできない問題も多々あります。本書ではプログラミング言語PHPを使って,実際にアプリケーションを作成しながら,問題解決のためのテクニックや,実際の現場で効率的に開発を進めていくための開発スタイルを,考え方や背景も踏まえながら説明しています。
目次はこんな感じ。
(公式サイトからの引用)
- Part1 MVC開発の基礎知識
- 1章 MVC開発の概要
- 2章 オブジェクト指向
- Part2 フレームワークを利用する利点
- 3章 レガシーコードの欠点
- 4章 リファクタリング・デザインパターン実践
- 5章 フレームワークを活用する
- Part3 モダンPHP Webアプリケーション開発
- 6章 アプリケーション開発を始めるための準備
- 7章 データベースとエンティティ
- 8章 コントローラとビュー
- 9章 フォームとデータベース
- Part4 機能の作成と実装のパターン化
- 10章 ユーザ登録
- 11章 イテレーション
- 12章 管理画面
- 13章 コマンドラインスクリプト
- 14章 ユニットテスト
- 15章 機能テスト
Part1、Part2までは基本的なオブジェクト指向の利点などの解説。
Part3からは実際にWebアプリケーションをのサンプルを作るという内容になっています。
Symfony2.0の使い方を覚えたい人におすすめ
Part3からの内容のWebアプリケーションを作るにあたって、フレームワークを利用しているのですが、「Symfony2.0」を使っているんです、この本。
Symfony1.0系は5年前くらいいリリースされて、日本語のしっかりした解説書(マンモスの奴がオススメ)もあるんですが、
symfony徹底攻略 [PHP徹底攻略シリーズ]
symfony×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 3)
2.0は去年の7月にリリースされたばかりで日本語の解説本が今のところ(2012月8月現在)ありません。
この本ではXAMPPのインストールからSymnfony2.0のダウンロード、導入方法まで説明してくれているので助かりました。
ネットにある導入方法の解説などで躓いてしまった人、本を片手に使い方を学びたい、という方にオススメですね。
(しかしなんで表紙や裏表紙にSymfony2.0を使っている事が書いてないんでしょうか…もったいない)
Symfony1.0とSymfony2.0で何が違うの?
何もかもが違います、全く別のフレームワークです。
普通のバージョンアップと同じに考えると痛い目に合います。互換性などはゼロだと考えていいでしょう…。
新しいもの好き。PHP5.3の新機能をばりばり使ってみたい、という方以外はまだ手を出さないほうがいいでしょう。
Symfony1.0でも十分高機能ですものね。あと5年先はどうなっているかわかりませんが。
感想まとめ
Symfony2.0の話ばかり書いたような気がしますが、この本の内容の7割くらいがSymfony2.0の事みたいなものなので問題ないでしょう(;^ω^)
分厚いです、読み応えありますね。
全体的に、とても丁寧に書かれているという印象を受けました。
Part1、2の内容は「オブジェクト指向がよくわからない」という方にとって理解に手助けになると思います。
私はPart3からの内容が役立ちました、
Symfony2.0の
- バンドルシステム
- エンティティ
- ルーティング
- Doctrine
テンプレートエンジンの「Twig」を利用できるのですが、使いやすくていいですね、コレ。
効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門
がっつりオブジェクト指向設計でらくらく開発したい方におすすめです(^ω^)
著者の小川です。書評を書いていただきありがとうございます。
> (しかしなんで表紙や裏表紙にSymfony2.0を使っている事が書いてないんでしょうか…もったいない)
こちらについてですが、意図があってフレームワーク名を出していないので、その点について補足させていただきます。
そもそもこの本の目的はSymfonyの解説ではなく、「言語やフレームワークにとらわれない基礎技術」と「普遍的な技術を使ったフレームワークを用いた開発のパターン化」の学習にあります。
PHP界隈には様々なフレームワークが存在し、ユーザの棲み分けがある状況です。それ自体はわるくないことだと思いますが、MVCやオブジェクト指向といったフレームワークにとらわれない基礎技術に関して、使っているフレームワークの垣根を越えて議論されることはあまり多くありません。
そういった点を考慮し、より多くの方に手にとっていただけるよう考えた結果、フレームワーク名を前面に出すことは控えました。
ブログ管理人の犬飼と申します。
コメント有難う御座います。
まさか著者の方からコメントが頂けると思わず、とても驚いています。
なるほど、そのような意図があったのですね、納得致しました。