LLフレームワークBOOKSシリーズSymfony × PHP
2007年10月2日紙版発売
森川穣,亀本大地,田中正裕 著
A5判/208ページ
定価2,178円(本体1,980円+税10%)
ISBN 978-4-7741-3237-2
ただいま弊社在庫はございません。
書籍の概要
この本の概要
LLフレームワークBooksの第3弾です。今回取り上げるのは,PHPのフレームワークとして,プログラマーからデザイナーまで,幅広く使用されている「symfony」です。symfonyはRuby on RailsやDjangoなどのフレームワークの影響を受け,MVCモデルを明示的に分離した構造を持ちます。そのため,中〜大規模システム開発にも活用できるのが大きな特徴です。
執筆は,PHP分野では著名なアシアル株式会社が全面協力。これからPHPを始めたい人〜すでにPHPで開発をしている人まで,お勧めの1冊です。
こんな方におすすめ
- PHPでプログラム開発をしたい方
- 効率的で高品質のWebアプリケーションを開発したい方
- Webサイト制作に関わる方全般
目次
Chapter 1 symfonyってなに?
- 1-1 フレームワークとは
- 1-2 PHPフレームワークの歴史
- フレームワークの流れへ
- RADという概念
- 1-3 symfonyの特徴
- ■PHP 5以降に対応
- ■MVCモデルを採用
- ■symfonyコマンドの実装
- ■YAMLを使った設定記述
- ■ScaffoldingやAdministrationなどのジェネレータ
- ■Zend Frameworkなどの他フレームワークとの連携
- ■長期に渡るフレームワークコードの動作保証
- 1-4 symfonyの名前の由来
- 1-5 symfonyのライセンス
- 1-6 symfonyでできること
- ■コアコンポーネント
- ■フォームヘルパ
- ■Ajax・DHTML(ダイナミックHTML)
- ■CRUD(Scaffolding)とAdministration
- ■国際化(I18N)とローカライズ(L10N)
- ■テスト支援
- 1-7 symfonyのドキュメント
- 1-8 symfonyの導入実績
- 1-9 symfonyをはじめてみよう!
Chapter 2 symfonyを使いこなすための基礎知識
- 2-1 PHP 5
- PHP 4からPHP 5へ
- オブジェクトの受け渡しはシャローコピー(Shallow Copy)で
- コンストラクタとデストラクタの名称変更
- private,public,protectedアクセス権の導入
- 例外(try〜catch)のサポート
- SPL(Standard PHP Library)の実装
- E_STRICTエラーレベルの追加
- 2-2 オブジェクト指向機能
- クラスの基礎
- クラスの継承
- 2-3 MVC(Model-View-Controller)モデル
- コントローラ
- ■フロントコントローラ
- ■アクション
- ビュー
- ■レイアウト
- ■テンプレート
- モデル
- ■モデルクラス
- ■データベース抽象化レイヤ
- 2-4 フロントコントローラ
- フロントコントローラ
- モジュールとアクション
- フロントコントローラ式のメリット
- 2-5 キャッシュ(Cache)
- (1)コンテンツキャッシュ
- (2)クエリキャッシュ
- (3)関数キャッシュ
- (4)コンパイルキャッシュ(PHPアクセラレータ)
- 2-6 CL(I コマンドライン)版PHPとバッチ処理
- (1)カレントディレクトリについて
- (2)STDIN,STDOUT,STDERR定数について
- (3)その他
- 2-7 O/Rマッパ(ORM)
- 2-8 オートロードとマジックメソッド
- オートロード
- マジックメソッド
- ■__toStringメソッド
- ■__cloneメソッド
- ■__isset,__unsetメソッド
- ■__set,__getメソッド
- ■__callメソッド
- 2-9 PEAR
- 2-10 YAML
- インデントは半角スペースで
- 短い書き方
Chapter 3 早わかりsymfony
- 3-1 インストールとセットアップ
- Linuxでのインストール
- ■Apacheのインストール
- ■MySQLのインストール
- ■PHPのインストール
- ■PHPの動作を確認する
- Windowsでのインストール
- ■XAMPPのインストール
- symfonyのインストール
- ■PEARライブラリの最新化
- ■PEARコマンドによるsymfony本体のインストール
- 3-2 symfonyことはじめ
- プロジェクトの生成
- アプリケーションの生成とApacheの設定
- ■httpd.confの設定
- デバッグモード
- モジュールの生成
- データベースの設定とモデルの生成〜O/Rマッパ Propel〜
- ■databases.yml
- ■propel.ini
- ■schema.yml
- データベースとテーブルの作成
- ■データベースの作成
- ■モデルとテーブルの生成
- ■propel-build-modelコマンドでモデルを生成する
- ■propel-build-sqlコマンドでSQLを生成する
- ■propel-insert-sqlコマンドでテーブルを作成する
- CRUDの自動生成〜Scaffolding(土台生成)〜
- ビューの変更とバリデータの実装
- ■ビューの内容を変更する
- ■view.yml
- ■layout.php
- ■個別のHTMLテンプレート
- ■バリデータ機能の実装
Chapter 4 Background of symfony
- 4-1 ディレクトリ構成
- プロジェクトディレクトリ
- アプリケーションディレクトリ
- モジュールディレクトリ
- 4-2 HTMLが出力されるまでの流れ
- コンテキストオブジェクトの作成
- 実行する処理を決定する
- 処理を実行する
- HTMLを組み立てる
- 4-3 コントローラ
- 4-4 アクション
- アクションを実装するクラスとメソッド
- アクションの機能
- ■リクエストパラメータ
- ■リダイレクト
- ■フォワード
- ■モジュールの共通処理
- 404エラーページの表示
- ■設定ファイルを利用した特別なモジュールとアクションの指定
- 4-5 フィルタ・フィルタチェイン
- フィルタの作成
- リクエスト情報の取得
- フィルタチェインへの追加
- 4-6 ユーザ認証
- アプリケーション全体での認証設定
- モジュール・アクション単位の認証設定
- 権限の設定
- ログイン機能の実装
- 4-7 ルーティング
- 4-8 リクエスト
- 4-9 ビュー
- 4-10 レイアウトと設定ファイル
- ビューの設定ファイル
- モジュールでの設定の上書き
- アクションでの設定の上書き
- 4-11 テンプレートの記述法
- ヘルパ
- ■Helper
- ■Tag
- ■Url
- ■Asset
- ■Partial
- ■Cache
- ■Form
- Urlヘルパ
- 4-12 フォーム
- Formヘルパ
- Objectヘルパ
- バリデーション
- ■ 独自のバリデータ
- バリデートアクション
- Validationヘルパ
- 4-13 外部ファイルの読み込み
- PHPのinclude
- パーシャル
- コンポーネント
- コンポーネントスロット
- スロット
- 4-14 モデル
- symfonyにおけるモデルの流れ
- 4-15 Propelの仕組み
- オブジェクトクラスとPeerクラス
- ■オブジェクトクラス
- ■Peerクラス
- 4-16 DBの基本的な操作
- レコードの作成から保存まで
- SELECT
- ■プライマリキーから検索するretrieveByPKとretrieveByPKsメソッド
- ■任意の条件を指定して検索するdoSelectとdoSelectOneメソッド
- ■件数を取得するdoCountメソッド
- ■LIMIT句やORDER BY句など
- ■配列との変換をするtoArray,fromArrayメソッド
- INSERTとUPDATE
- ■BasePeerクラスのdoUpdateメソッドで一括更新する
- DELETE
- 複数テーブルのSELECTとUPDATE
- ■リレーションされたテーブルを一括で更新する
- トランザクション
- 4-17 Criteriaを使った条件検索
- 条件検索
- 複数の検索条件を組み合わせる
- ORDER BYとLIMIT句
- JOIN
- 4-18 SQLを直接記述する
- 4-19 スキーマの定義
- スキーマの定義
- リバースエンジニアリング
- 4-20 ジェネレータ
- Scaffolding
- Administration
- 4-21 その他の機能
- アプリケーションレベルの定数(sfConfig)
- ログ
- バッチ
Chapter 5 使ってみようsymfony〜RSSリーダーを作ってみよう〜
- 5-1 symfonyによるRSSリーダーの作成
- 5-2 作成の準備
- JSONエクステンション
- Apacheの設定
- 5-3 アプリケーションとモデルの作成
- プロジェクトとアプリケーションの生成
- データベースの作成とモデルの生成
- ■スキーマの設計
- ■データベースの作成とスキーマの記述
- ■ダミーデータの挿入
- 5-4 機能の実装
- ■reader
- ■feededit
- ■folderedit
- ■crawler
- readerモジュール
- ■ベース表示 - indexアクション
- ■エントリ一覧表示 - entryアクション
- ■entryアクションの改良
- ■既読管理 - readアクション
- ■フィードツリー表示 - treeアクション
- ■Ext.js ライブラリとツリー描画JavaScript
- feededitモジュールとfoldereditモジュール
- ■Administration機能による自動生成
- ■バリデーションの実装
- crawlerバッチ
- 最後に
Appendix symfonyの情報源
- A-1 参考書籍・Webサイト
- A-2 PHPのエクステンションについて
- A-3 Xdebugエクステンションをインストール
- Linux版の場合
- Windows版の場合
- A-4 Ajaxとsymfony
- A-5 変数の自動エスケープ出力について
- A-6 bashとzsh用のsymfonyコマンド補完スクリプト
- A-7 symfonyでセッションを使う
この本に関連する書籍
-
Fast CakePHP
LLフレームワークBOOKS第4弾。本書は,PHPの快速フレームワーク「CakePHP」にフォーカスした入門解説書です。CakePHPは, Ruby on Railsの影響を多大に受けているオープン...
-
Ethna × PHP
本書はPHPを利用したWebフレームワーク・Ethnaの解説書です。Webフレームワークとは何か,Ethnaを使うために何が必要かなどの基礎知識から,開発環境のインストールと設...
-
TurboGears × Python
時代に敏感な開発者たちに今最も注目されているLL(Lightwaight Language)を使ったフレームワークの導入ガイド。プログラム開発経験者(LL,フレームワーク未経験者)...