オープンソース徹底活用 symfony 1.4によるWebアプリケーション開発

概 要

PHPのWebアプリケーションフレームワーク「symfony 1.4」を使ったWebアプリケーション開発手法を解説するガイドブックです。symfony 1.4は、高速で拡張性が高く、大規模なeコマースも含むWebアプリ開発に向いた安定したフレームワークです。本書は、日本Symfonyユーザー会で活動しているメンバーが、symfonyを使いこなすために必要な知識をわかりやすく解説した日本Symfonyユーザー会公式解説書です。PHPフレームワークsymfonyのコンセプト、公式文書の読み方から、Doctrineの使いこなし、フォームのカスタマイズ、プラグインの作り方、MySQLとの接続、ソースコード管理、テスト駆動開発、デプロイまで、開発効率アップのノウハウが満載です。サンプルのダウンロードサービス付き。

著者 日本Symfonyユーザー会
価格 本体2800円(税別)
ISBN 978-4-7980-2934-4
発売日 2011/3/23
判型 B5変
色数 1色
ページ数 448
CD/DVD
対象読者 中級
シリーズ オープンソース徹底活用
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 symfony 1.4の特徴と基礎知識

1-1 symfony 1.4の特徴

■1-1-1 symfonyの歴史

■1-1-2 symfonyのバージョン

■1-1-3 Webアプリケーション開発のベストプラクティスを実践するためのフレームワーク

■1-1-4 symfonyのコミュニティとOSS

1-2 symfonyの基礎知識

■1-2-1 symfonyを使ったプロジェクトのディレクトリとファイル

■1-2-2 プロジェクト、アプリケーション、モジュール、アクション

■1-2-3 タスクとsymfonyコマンド

■1-2-4 設定ファイルとYAML

■1-2-5 ORM(DoctrineとPropel)

■1-2-6 ルーティング

■1-2-7 フォームフレームワーク

■1-2-8 CRUD、スキャフォールディング、Adminジェネレータ

■1-2-9 プラグイン

■1-2-10 国際化(I18N)

■1-2-11 limeテストフレームワーク

1-3 コーディング規約

■1-3-1 symfonyのコーディング規約について

■1-3-2 本書のコーディング規約

■1-3-3 本書の文体

Chapter 2 symfony 1.4のインストール

2-1 symfonyを使ったアプリケーションの開発に必要な環境

■2-1-1 サーバーソフトウェア

■2-1-2 PHP

2-2 symfonyのインストール方法4種類

■2-2-1 4種類のインストール方法の概要

■2-2-2 サンドボックスパッケージを使ったインストール

■2-2-3 リリースパッケージを使ったインストール

■2-2-4 バージョン管理システム(Subversion)を使ったインストール

■2-2-5 PEARを使ったインストール

2-3 Linux環境でのインストール

■2-3-1 サーバーソフトウェアの準備

■2-3-2 動作環境の確認

■2-3-3 インストール位置の決定

■2-3-4 サンドボックスパッケージからのインストール

■2-3-5 リリースパッケージからのインストール

■2-3-6 Subversionリポジトリからのインストール

■2-3-7 symfonyコマンドでバージョンを確認

■2-3-8 .htaccessの編集

■2-3-9 sfディレクトリのコピー

■2-3-10 Webブラウザから確認

2-4 Windows環境でのインストール

■2-4-1 サーバーソフトウェアの準備

■2-4-2 動作環境の確認

■2-4-3 インストール位置の決定

■2-4-4 サンドボックスパッケージからのインストール

■2-4-5 リリースパッケージからのインストール

■2-4-6 Subversionリポジトリからのインストール

■2-4-7 symfonyコマンドでバージョンを確認

■2-4-8 .htaccessの編集

■2-4-9 sfディレクトリのコピー

■2-4-10 Webブラウザから確認

2-5 Mac環境でのインストール

■2-5-1 サーバーソフトウェアの準備

■2-5-2 動作環境の確認

■2-5-3 インストール位置の決定

■2-5-4 サンドボックスパッケージからのインストール

■2-5-5 リリースパッケージからのインストール

■2-5-6 Subversionリポジトリからのインストール

■2-5-7 symfonyコマンドでバージョンを確認

■2-5-8 .htaccessの編集

■2-5-9 sfディレクトリのコピー

■2-5-10 Webブラウザから確認

2-6 インストールした後は?

■2-6-1 Gitを使ったsymfonyのインストール

■2-6-2 NetBeans IDEでsymfonyアプリケーションを開発する

Chapter 3 symfonyアプリケーションの設置

3-1 symfonyのディレクトリ群を解剖する

■3-1-1 プロジェクトの基本構成

■3-1-2 ディレクトリ構成の変更

3-2 公開サーバーへの設置

■3-2-1 Webサーバーのドキュメントルートを割り当てる

■3-2-2 webディレクトリのみを分離して公開ディレクトリに配置する

■3-2-3 サブディレクトリでsymfonyを使う

■3-2-4 公開ディレクトリ以下にしか配置できないサーバーの場合

3-3 本番環境でのチェックポイント

■3-3-1 開発用のフロントコントローラを削除する

■3-3-2 エラーページを変更する

■3-3-3 セッション名を変更する

■3-3-4 不要なリクエストをなくす

Chapter 4 サンプルサイトで学ぶsymfony開発の基礎

4-1 開発の準備

■4-1-1 サンプルサイト「symfony楽団ホームページ」

■4-1-2 symfonyのインストール

■4-1-3 Helloモジュールの生成

■4-1-4 Hello, World!の表示

4-2 サンプルサイトの概要とデータベースの準備

■4-2-1 サンプルサイトの設計

■4-2-2 データベースのスキーマ

■4-2-3 モデルクラス群とテーブルの生成

■4-2-4 フィクスチャーの準備

4-3 モジュールとアクションの生成

■4-3-1 モジュールの設計と作成

■4-3-2 Pageモジュールのアクションの実装

4-4 ルーティングの設定

■4-4-1 routing.ymlの基礎

■4-4-2 ルーティングを使ってページ表示機能を実装する

■4-4-3 残りのルートを設定する

4-5 テンプレート

■4-5-1 デザインデータの準備

■4-5-2 CSSの適用とビューの設定

■4-5-3 テンプレートの部品化

4-6 お問い合わせフォームの作成とメールの送信

■4-6-1 sfFormフォームフレームワークの概要

■4-6-2 InquiryFormクラスの実装(基本)

■4-6-3 InquiryFormクラスの実装(完成)

■4-6-4 メール送信機能の実装

4-7 管理機能の実装

■4-7-1 backendアプリケーションの準備

■4-7-2 Pageモデル向け管理画面の生成(Adminジェネレータ)

■4-7-3 管理画面へのアクセス制限

4-8 リファクタリングと機能拡張

■4-8-1 モデル関連のコードはモデルクラスへ

■4-8-2 一覧を取得する処理はページャーを経由させる

■4-8-3 拡張のヒント

Chapter 5 公式サイトのドキュメントナビゲーション

5-1 公式サイトのドキュメントの種類

■5-1-1 symfony 1.4に対応した公式ドキュメント

■5-1-2 小規模なドキュメント

■5-1-3 過去の公式ドキュメント

5-2 ドキュメントナビゲーション

■5-2-1 Doctrine関連

■5-2-2 Propel関連

■5-2-3 フォーム関連

■5-2-4 キャッシュ関連

■5-2-5 ビュー関連

■5-2-6 タスク関連

■5-2-7 Adminジェネレータ関連

■5-2-8 ルーティング関連

■5-2-9 テスト関連

■5-2-10 メール関連

Chapter 6 Doctrine

6-1 モデルの基本

■6-1-1 モデルクラスの定義

6-2 CRUD処理の基本

■6-2-1 データの作成

■6-2-2 データの更新

■6-2-3 データの削除

■6-2-4 データの読み取り(ファインダメソッド)

■6-2-5 Doctrine_Queryを使ったデータの読み取り

■6-2-6 カスタムファインダメソッド

■6-2-7 複数データの更新

■6-2-8 複数データの削除

■6-2-9 ハイドレーション

■6-2-10 Doctrine_Connectionからの操作

6-3 ビヘイビアの利用

6-4 フックの利用

■6-4-1 レコードフック

■6-4-2 DQLフック

6-5 リレーション

■6-5-1 一対一のリレーション

■6-5-2 一対多のリレーション

■6-5-3 多対多のリレーション

6-6 キャッシュの利用

■6-6-1 2種類のキャッシュ

■6-6-2 キャッシュドライバ

■6-6-3 結果キャッシュを使う

Chapter 7 symfonyを使いこなす

7-1 フォームフォーマッタ

7-2 sfFormのウィジェットの基礎

■7-2-1 ウィジェットクラスについて

■7-2-2 ウィジェットのオプション(option)と属性(attribute)

■7-2-3 フィールドの要素をテンプレートで個別に表示する

■7-2-4 フォームクラスのメソッド

7-3 特定のフォームでだけチェックボックスのタグをカスタマイズする

7-4 出力するタグをカスタマイズしたウィジェットクラスを作る

7-5 バリデータの基礎

■7-5-1 バリデータクラスについて

7-6 より厳密なメールアドレスのチェック

■7-6-1 sfValidatorEmailのオプションで指定

■7-6-2 カスタムバリデータクラスを作成

■7-6-3 携帯キャリアのメールアドレスかどうかチェックする

■7-6-4 全角文字のチェックと半角への自動変換

7-7 複数フィールドのバリデーション

■7-7-1 POSTバリデータで複数の入力値を検証する

■7-7-2 sfValidatorCallbackでさらに複雑なバリデーション

7-8 オブジェクトルート

■7-8-1 オブジェクトルートの使い方

7-9 タスクの基礎

■7-9-1 タスクの雛形を生成する

7-10 RSSフィードを取得して処理する

7-11 イベントの基礎

■7-11-1 イベントの使い方

■7-11-2 symfonyの組み込みイベント

7-12 キャッシュクリアコマンドを拡張する

■7-12-1 独自のキャッシュをキャッシュクリアコマンドで削除する

Chapter 8 プラグインの利用と開発

8-1 プラグインとは

8-2 プラグインを利用する

■8-2-1 sfDoctrineGuardPlugin

■8-2-2 sfFormExtraPlugin

■8-2-3 sfFeed2Plugin

■8-2-4 sfJqueryReloadedPlugin

■8-2-5 sfImageTransformPlugin

■8-2-6 sfSmartyPlugin

■8-2-7 sfTaskExtraPlugin

■8-2-8 sfDoctrineMasterSlavePlugin

■8-2-9 sfWebBrowserPlugin

■8-2-10 sfThumbnailPlugin

■8-2-11 jpSimpleMailPlugin

8-3 プラグインのディレクトリとファイルの構成

■8-3-1 プラグインの各ディレクトリの概要

Chapter 9 symfonyのユーティリティクラス

9-1 オートロード

■9-1-1 オートロードとは?

■9-1-2 symfonyのオートロードの設定

9-2 sfYaml

■9-2-1 YAMLライブラリ

■9-2-2 YAMLファイルを読み込む

■9-2-3 YAML形式で書き出す

9-3 sfConfig

■9-3-1 sfConfigクラスの使い方

■9-3-2 sfConfigで取得できる設定値

9-4 sfFinder

■9-4-1 sfFinderを使ったファイル処理

9-5 sfToolkit

■9-5-1 sfToolkitクラスのメソッド

■9-5-2 sfToolkit::arrayDeepMerge()

■9-5-3 sfToolkit::clearDirectory()

■9-5-4 sfToolkit::clearGlob()

■9-5-5 sfToolkit::isArrayValuesEmpty()

■9-5-6 sfToolkit::isPathAbsolute()

■9-5-7 sfToolkit::replaceConstants()

9-6 sfContext

■9-6-1 sfContextクラスのメソッド

9-7 sfPager、sfDoctrinePager

■9-7-1 ページャークラスの基本

9-8 sfProjectConfiguration、sfApplicationConfiguration

■9-8-1 sfProjectConfiguration

■9-8-2 sfApplicationConfiguration

9-9 sfUser、sfBasicSecurityUser

■9-9-1 sfUserクラスを使ったセッション情報の操作

■9-9-2 sfBasicSecurityUserクラスを使った認証

■9-9-3 セッションストレージの変更

9-10 sfLogger、その他のロガーと設定

■9-10-1 アプリケーションからのログの記録

■9-10-2 ロギング用の設定

9-11 sfInflector

■9-11-1 sfInflectorクラスのメソッド

9-12 ヘルパー関数

■9-12-1 AssetHelper

■9-12-2 CacheHelper

■9-12-3 DateHelper

■9-12-4 DebugHelper

■9-12-5 EscapingHelper

■9-12-6 HelperHelper

■9-12-7 I18NHelper

■9-12-8 JavascriptBaseHelper

■9-12-9 NumberHelper

■9-12-10 PartialHelper

■9-12-11 TagHelper

■9-12-12 TextHelper

■9-12-13 UrlHelper

Chapter 10 マスタースレーブ構成のデータベース

10-1 レプリケーション環境のデータベースの準備

■10-1-1 データベースにレプリケーション用のユーザーを作成

■10-1-2 マスターデータベースの情報を準備

■10-1-3 ベースバックアップの取得

■10-1-4 スレーブデータベースの設定

10-2 sfDoctrineMasterSlavePluginのインストール方法

■10-2-1 テスト用のプロジェクトの作成

■10-2-2 sfDoctrineMasterSlavePluginのインストール

■10-2-3 databases.ymlにマスタースレーブの設定を追加

10-3 動作の確認

■10-3-1 テスト用のデータベースの準備

■10-3-2 テスト用のページの作成

■10-3-3 sfDoctrineMasterSlavePluginの動作の確認

Chapter 11 ソースコード管理、テスト駆動開発、デプロイ

11-1 ソースコードのバージョン管理

■11-1-1 Subversionを使ったバージョン管理

■11-1-2 Gitを使ったバージョン管理

11-2 テスト駆動開発(TDD)とsymfonyのテスト機能

■11-2-1 テスト駆動開発の基礎知識

■11-2-2 TDDのアプローチで機能を実装する

■11-2-3 ファンクショナルテスト

■11-2-4 まとめ

11-3 開発したアプリケーションのデプロイ

■11-3-1 デプロイ方法概要

■11-3-2 symfonyコマンドによるデプロイ

■11-3-3 バージョン管理システムを使ったデプロイ

■11-3-4 その他のデプロイツール

Chapter 12 大規模なソフトウェアへの応用

12-1 OpenPNE3について

■12-1-1 OpenPNE3の準備

12-2 プラグインによる拡張

■12-2-1 通常のsymfonyプラグインとOpenPNEプラグインとの差異

■12-2-2 イベント

■12-2-3 OpenPNE3独自の設定

12-3 タスク

12-4 Doctrineの利用、拡張

■12-4-1 Doctrineのイベントをsymfonyのイベントとして通知する

■12-4-2 Zend_Aclとの連携

■12-4-3 パフォーマンスチューニング

12-5 メール投稿

12-6 その他のノウハウ

■12-6-1 他アプリケーションへのリンク

■12-6-2 フィルタの使用

■12-6-3 アクションの共通化

■12-6-4 リクエスト中のヌル文字の除去

■12-6-5 動的な画像生成

PR

秀和システム