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

[表紙]Symfony × PHP

A5判/208ページ

定価(本体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でセッションを使う