gihyo.jp » 書籍案内 » Symfony × PHP

LLフレームワークBOOKSシリーズSymfony × PHP

[表紙]Symfony × PHP

2007年10月2日発売

森川穣,亀本大地,田中正裕 著

A5判/208ページ

定価2,079円(本体1,980円)

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でセッションを使う
G-CLOUD

ピックアップ

エンジニアパワーアップ講座 ~システム基盤を活用するための基礎知識~

イマドキのエンジニアに要求されるさまざまな知識や能力。これらを効率よくキャッチアップしていくヒントをいろいろな視点から取り上げます。

LinuxCon Japan/ Tokyo 2010の歩き方

9月開催「LinuxCon Japan/ Tokyo 2010」の見どころと楽しみ方を,メインスピーカーの皆さんに自ら紹介していただきましょう。

自分で考えた家が現実に!? ~「3DマイホームデザイナーLS3」で実現する,普請道楽のススメ

「3DマイホームデザイナーLS3」を使えば,パズル感覚の簡単操作で理想の住まいを立体的にシュミレートすることができます。

手軽に使える専用サーバ「さくらのマネージドサーバ」を徹底チェック

1台のサーバを占有して使うことができる「さくらのマネージドサーバ」に新たに加わった「Core 2 Duoプラン」の特徴と魅力をお伝えします。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた情報や魅力を多角的に紹介します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

よく読まれている連載

Software is Beautiful

Windows 95/98などのチーフアーキテクトなどを務めたことで知られる中島聡氏による,エンジニアとして働き,生活していくうえで考えるべきこと,そしてそれを解決するヒントをお届けします。

DBアタマアカデミー

本連載ではRDBMSの内部のアーキテクチャやストレージのしくみについて解説することで,データベースについての理解を深め,現場で役立つ知識を身につけます。

目指せ!iPhoneアプリ開発エキスパート

2008年7月,日本での展開が始まりたくさんのユーザを獲得しているiPhone。その醍醐味の1つは,オリジナルアプリの開発でしょう。本連載では,iPhoneアプリ開発について,基礎から公開の手順まで,じっくり丁寧に解説します。

Jettyで始めるWebSocket超入門

WebSocketという新しいウェブの規格についての連載を,全4回の予定でお届けします。

手軽に使える専用サーバ「さくらのマネージドサーバ」を徹底チェック

「さくらのマネージドサーバ」は1台のサーバを占有して使うことができるホスティングサービスです。今回新たにCore 2 Duo搭載のサーバを利用する「Core 2 Duoプラン」の提供が始まりました。このサービスと新プランの特徴について,同社にお話を伺いました。

スタートアップ SVG

HTML5の盛り上がりとともに再び注目を集めるSVG。古い情報と新しい情報が混在して有益な情報が埋もれがちな状況を打破すべく,厳選した情報をお届けします。

ただのメモでは勿体ない!Evernoteに人生を記憶しよう

これからEvernoteをはじめたい,もっとEvernoteを使いこなしたいという方向けにEvernoteの基本的な使い方から応用技,情報整理術やライフログなどの具体的な運用方法まで解説していきます。

OpenCVで学ぶ画像認識

OpenCVという便利なツールを使いながら,プログラミング知識以外の専門知識を必要としない形で,画像認識技術について解説していきます。

Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!

Ruby on Railsで作られたプロジェクト管理ツールredMineの,環境構築からセッティング,運用方法まで解説します。

Webデザイン最新トレンド ~イマドキUIのつくりかた

“今っぽいWebサイト”を作るには何が大切か? Webデザインのポイントと実際の作り方をサンプルをまじえて紹介します。

連載一覧

企業動向

[ 企業動向一覧 ]

最近のコメント