ISBN: 978-4-7981-1712-6
PHPフレームワークの本命「Zend Framework」を使いこなそう
フレームワークプログラミングが初めての方も安心。はじめにインストール方法、フレームワーク(Zend_Controller)としての基本操作をがっちり解説します。
さらに、アプリケーション構築/管理、データベースや外部サービスとの連携も徹底的に解説。
巻末には、主要コンポーネント/クラスがわかる、うれしいリファレンス付き。
更新履歴
- FAQ情報:2009年7月14日 更新
- 正誤訂正:2010年2月23日 更新
目次
- 1 イントロダクション
- 1.1 アプリケーションフレームワークとは?
- 1.2 Zend Framework利用のための基本環境設定
- 1.3 Windowsにおける環境設定の手順
- 1.4 Linuxにおける環境設定の手順
- 1.5 Windows/ Linux共通の環境設定の手順
- 2 Zend_ControllerによるMVCプログラミングの基礎
- 2.1 Zend_Controllerのアーキテクチャ
- 2.2 Zend_Controllerの基本
- 2.3 Zend_Controller対応のアプリケーションを構築しよう
- 2.4 リクエストオブジェクト/レスポンスオブジェクト
- 2.5 フロントコントローラ
- 2.6 アクションコントローラ
- 2.7 モジュール(Module)
- 3 Zend_Controllerにおけるアプリケーションの拡張
- 3.1 Zend_Controllerの処理フロー
- 3.2 ルータ(Router)
- 3.3 プラグイン(Plugin)
- 3.4 アクションヘルパー(Action Helper)
- 4 抽象化レイヤによるデータベース連携の基本
- 4.1 データベース抽象化レイヤとは?
- 4.2 データベースへの接続
- 4.3 レコードの登録/更新/削除
- 4.4 結果セットの取得
- 4.5 プリペアド・ステートメント
- 4.6 SQLレスでデータベースを操作する
- 4.7 トランザクション処理
- 4.8 プロファイリング
- 4.9 O/Rマッピング ── Zend_Db_Tableクラス
- 4.10 O/R マッピングの高度なテーマ
- 5 エンドユーザへの窓口 ビュー開発の効率化
- 5.1 ビューの実装を効率化したい ── Zend_View
- 5.2 ヘッダ/フッタなどの共通テンプレートを定義したい ── Zend_Layout
- 5.3 ユーザ入力値の妥当性を検証したい ── Zend_Validator
- 5.4 データのフィルタリングを実行したい ── Zend_Filter
- 5.5 検証/フィルタリング規則をまとめて管理したい ── Zend_Filter_Input
- 5.6 指定したルールで文字列の高度な変換を行いたい ── Zend_Filter_Inflector
- 6 外部サービスとの連携でより高度なアプリケーション構築
- 6.1 メールの送受信をしたい ── Zend_Mail
- 6.2 外部サイトとのHTTP 通信をしたい ── Zend_Http
- 6.3 フィードを発行/解析したい ── Zend_Feed
- 6.4 REST式Web APIを活用したい ── Zend_Rest
- 6.5 XML-RPCによるサーバ間通信を利用する ── Zend_XmlRpc
- 6.6 ネットワーク上の有名なサービスを活用したい ── Zend_Service
- 7 ライブラリの活用でアプリケーション管理を効率化
- 7.1 アプリケーションに認証機能を実装したい ── Zend_Auth
- 7.2 ユーザ権限に応じてアクセスを制御したい ── Zend_Acl
- 7.3 アプリケーションの設定情報を一元管理したい ── Zend_Config
- 7.4 さまざまなストレージへのロギングを簡易に行いたい ── Zend_Log
- 7.5 キャッシュ機能を実装したい ── Zend_Cache
- 7.6 セッション機能を活用したい ── Zend_Session
- 8 帳票作成から国際化対応機能まで ── Zend Frameworkの魅力
- 8.1 動的にPDF文書を生成したい ── Zend_Pdf
- 8.2 日付/時刻の演算/整形/比較をしたい ── Zend_Date
- 8.3 通貨を伴う数値を整形したい ── Zend_Currency
- 8.4 単位を伴う数値の演算/比較をしたい ── Zend_Measure
- 8.5 アプリケーションを多言語対応にしたい ── Zend_Translate
- Appendix 簡易リファレンス
- COLUMN一覧
- フレームワーク導入のデメリット
- Windows環境でZend Frameworkアプリを開発するときの注意
- 知っておきたいZend Frameworkのコーディング規約
- ミニマム版フロントコントローラ
- コントローラ/アクション名が複数の単語を含む場合
- getParamメソッドは使用しない
- 安全な「グローバル変数」 ── Zend_Registry
- 例外処理のさまざまな手法
- Zend Frameworkをより深く学ぶための参考書籍
- デフォルトメソッドの内部的な実装
- 複数コンテキストをまとめて登録するには?
- JSON形式の応答を出力するには?
- PHPアプリ開発に役立つ統合開発環境 ── PHP Development Tool
- データベースに接続した場合の確認事項
- おおもとの接続オブジェクトを取得する
- 流暢なインターフェイス
- メタ情報の取得
- 行セットへのランダムアクセス
- 結合先のテーブルから列を取得しない
- Smartyを手軽に導入するには?
- Zend_Uri
- HtmlEntitiesフィルタはエスケープフィルタにセットする
- エラーメッセージを一元的に管理するには?
- PRESENCEメタコマンドではダメなのか?
- アップロードファイルを動的に添付することも可能
- HTMLメールや添付ファイルを濫用しない
- トラックバックとは?
- RSSのバージョン
- Yahoo!検索Web サービス
- Zend_Rest_Clientクラスの制限
- アクセスキーの取得方法(Amazon Webサービス)
- Zend_Service_Yahoo利用時の注意点
- Google Data APIを活用したい
- PHPの実行/開発環境を簡単に用意する ── XAMPP
- 対象ユーザの絞り込み
- ストレージクラスを差し替える方法
- Zend_Logのフィルタ
- ログ項目を追加するには?
- デバッグ時の変数出力に便利なZend_Debug
- ページを回転させるには?
- Zend_Locale依存のコンポーネントを利用する場合の注意点
- 書式指定子の変更
- Zend_Currencyで利用可能な通貨
- 利用可能な単位を取得するには?
- PHPが利用可能なレンタルサーバ
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.92 | リスト3.3 index.php | - |
| new Zend_Controller_Router_Static(\\'my\\', | new Zend_Controller_Router_Route_Static(\\'my\\', | 2008/12/26 |
| p.157 | リスト4.17 fetch_bound.php | - |
| $stt->bindColumn(\\'data\\', $type, Zend_Db::PARAM_STR); $stt->bindColumn(\\'type\\', $data, Zend_Db::PARAM_LOB); |
$stt->bindColumn(\\'type\\', $type, Zend_Db::PARAM_STR); $stt->bindColumn(\\'data\\', $data, Zend_Db::PARAM_LOB); |
2008/12/11 |
| p.371 | 本文 下から2行目 | - |
| メソッド(動画検索) | videoSearchメソッド(動画検索) | 2008/12/11 |
| p.372 | 本文下から3行目 | - |
| 個々の商品情報(Zend_Service_Yahoo_WebResult オブジェクト)に含まれている | 個々のサイト情報(Zend_Service_Yahoo_WebResult オブジェクト)に含まれている | 2009/03/15 |
| p.455 | 本文下から2行目 | - |
| getメソッドはページ内で利用するデータを | load/saveメソッドはページ内で利用するデータを | 2010/02/23 |
| p.461 | リスト7.54下の解説文3行目 | - |
| cached_entryオプションは必須で | cached_entityオプションは必須で | 2010/02/23 |
FAQ
刊行後、ZendFrameworkのバージョンアップにより執筆時(ver.1.5.3)から一部の構造が変更になっているよう です。
controller2/index.phpの先頭に、以下のようなコードを挿入してみてください。
require_once('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
controller2/index.phpの先頭に、以下のようなコードを挿入してみてください。
require_once('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
更新日: 2009.07.14
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。