Zend Framework徹底入門(山田 祥寛)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Zend Framework徹底入門

Zend Framework徹底入門


形式:
書籍
発売日:
ISBN:
9784798117126
定価:
4,180(本体3,800円+税10%)
仕様:
B5変・500ページ
カテゴリ:
Webプログラミング
キーワード:
#Web・アプリ開発,#プログラミング,#ネットワーク・サーバ・セキュリティ,#開発手法
シリーズ:
徹底入門

PHP最高峰のフレームワーク&コンポーネント

代表的なPHPフレームワークのひとつ「Zend Framework」は、フロントコントローラのZend_Controllerを中心としたMVCモデルのフレームワークで、Zend_Feed、Zend_Pdfなどさまざまなコンポーネント集合という側面も備えています。フレームワークとしてはもちろんのこと、その利便性の高い各種コンポーネントが、PHPアプリケーション開発の大きな役割を果たす場面は少なくありません。
本書は、Zend Frameworkのすべてが詰まった解説書です。インストール方法、フレームワークとしての基本操作はもちろんのこと、データベース連携、アプリケーションの構築/管理、さらには外部サービスとの連携まで、役立つ各種コンポーネントの詳細までを徹底解説しています。Zend Frameworkのすべてがわかる、PHP開発者必携の1冊です。

1 イントロダクション

1.1 アプリケーションフレームワークとは?
  1.1.1 フレームワークの必要性
  1.1.2 PHPで利用可能なフレームワーク
  1.1.3 Zend Frameworkとは?
1.2 Zend Framework利用のための基本環境設定
  1.2.1 Zend Frameworkプログラミングに必要なソフトウェア
1.3 Windowsにおける環境設定の手順
  1.3.1 Apache HTTP Serverのインストール方法
  1.3.2 MySQLのインストール方法
  1.3.3 PHPのインストール方法
1.4 Linuxにおける環境設定の手順
  1.4.1 Apache HTTP Serverのインストール方法
  1.4.2 MySQLのインストール方法
  1.4.3 PHPのインストール方法
1.5 Windows/Linux共通の環境設定の手順
  1.5.1 Zend Frameworkのインストール方法
  1.5.2 サンプルの配置方法

2 Zend_ControllerによるMVCプログラミングの基礎

2.1 Zend_Controllerのアーキテクチャ
  2.1.1 ビジネスロジックを分離する
  2.1.2 MVCモデルをイメージしよう
2.2 Zend_Controllerの基本
  2.2.1 アプリケーションのフォルダ構造
  2.2.2 Zend_Controllerを利用するための設定
  2.2.3 フロントコントローラの準備
2.3 Zend_Controller対応のアプリケーションを構築しよう
  2.3.1 アプリケーションの構造
  2.3.2 アクションコントローラの基本的な構文
  2.3.3 ビュースクリプトの基本的な構文
  2.3.4 サンプルアプリケーションを実行する方法
2.4 リクエストオブジェクト/レスポンスオブジェクト
  2.4.1 リクエストデータを取得する
  2.4.2 HTTPメソッドを判定する
  2.4.3 レスポンスデータを生成する
  2.4.4 応答ヘッダを操作する
2.5 フロントコントローラ
  2.5.1 予約パラメータ
  2.5.2 独自パラメータの設定
2.6 アクションコントローラ
  2.6.1 アクションコントローラの処理順序
  2.6.2 エラーコントローラ
  2.6.3 リダイレクトとフォワード
2.7 モジュール(Module)
  2.7.1 モジュール使用時のフォルダ構造
  2.7.2 フロントコントローラへの登録
  2.7.3 アクションコントローラの命名規則
  2.7.4 リクエストURIの形式
  2.7.5 モジュールを利用したサンプル

3 Zend_Controllerにおけるアプリケーションの拡張

3.1 Zend_Controllerの処理フロー
3.2 ルータ(Router)
  3.2.1 ルーティング方式のカスタマイズ
  3.2.2 Zend_Controller_Router_Routeオブジェクト
  3.2.3 Zend_Controller_Router_Route_Staticオブジェクト
  3.2.4 Zend_Controller_Router_Route_Regexオブジェクト
  3.2.5 ルーティング方式を設定ファイル化する
3.3 プラグイン(Plugin)
  3.3.1 プラグインの基本と標準プラグイン
  3.3.2 自作プラグインの基本
3.4 アクションヘルパー(Action Helper)
  3.4.1 アクションヘルパーの基本
  3.4.2 リクエストに応じてレビューを差し替える―ContextSwitchヘルパー(1)
  3.4.3 新規のコンテキストを追加する―ContextSwitchヘルパー(2)
  3.4.4 Ajax対応のアクションコントローラを定義する―AjaxContextヘルパー
  3.4.5 オートコンプリート機能を実装する―AutoCompleteヘルパー
  3.4.6 自作アクションヘルパーの基本
  3.4.7 自作アクションヘルパー(応用)

4 抽象化レイヤーによるデータベース連携の基本

4.1 データベース抽象化レイヤとは?
  4.1.1 代表的なデータベース抽象化レイヤ
  4.1.2 Zend_Dbが対応しているデータベース
  4.1.3 本章で利用するデータベース
4.2 データベースへの接続
  4.2.1 データベース接続情報を外部ファイル化する
  4.2.2 データベース接続のコードを外部化する
4.3 レコードの登録/更新/削除
  4.3.1 プレイスホルダの必要性とSQLインジェクション
  4.3.2 名前なしパラメータと名前付きパラメータ
  4.3.3 クエリの実行結果を取得する
  4.3.4 オートインクリメント値の取得
4.4 結果セットの取得
  4.4.1 フェッチメソッド
  4.4.2 フェッチモード
4.5 プリペアド・ステートメント
  4.5.1 bindValueメソッド
  4.5.2 bindParamメソッド
4.6 SQLレスでデータベースを操作する
  4.6.1 insert/update/deleteメソッド
  4.6.2 selectメソッド(1)―基本的な用法
  4.6.3 selectメソッド(2)―式を伴うクエリの生成
  4.6.4 selectメソッド(3)―自動生成されたクエリの確認
  4.6.5 メタデータ
4.7 トランザクション処理
  4.7.1 トランザクションの活用
4.8 プロファイリング
  4.8.1 プロファイリング機能の有効化
  4.8.2 プロファイル情報の取得
  4.8.3 プロファイル情報の絞り込み
4.9 O/Rマッピング―Zend_Db_Tableクラス
  4.9.1 テーブルクラスの定義
  4.9.2 テーブルクラスによるデータ検索の基本
  4.9.3 より複雑な条件での検索
  4.9.4 Zend_DB_Table_Selectクラス使用時の注意点
  4.9.5 レコードの登録/更新/削除―テーブルクラス
  4.9.6 レコードの登録/更新/削除―行クラス
4.10 O/Rマッピングの高度なテーマ
  4.10.1 複数テーブルの内容を結合する―参照元テーブル→参照先テーブル
  4.10.2 複数テーブルの内容を結合する―参照先テーブル→参照元テーブル
  4.10.3 テーブルクラスの初期化ルールをカスタマイズする

5 エンドユーザへの窓口 ビュー開発の効率化

5.1 ビューの実装を効率化したい―Zend_View
  5.1.1 Zend_Viewの基本
  5.1.2 ViewRendererヘルパーの用法
  5.1.3 テンプレートエンジンSmartyとの連携
5.2 ヘッダ/フッタなどの共通テンプレートを定義したい―Zend_Layout
  5.2.1 Zend_Layoutの基本
  5.2.2 Zend_Layoutをアクションメソッドから操作する
  5.2.3 Zend_LayoutでZend_View_Smartyクラスを利用する
5.3 ユーザ入力値の妥当性を検証したい―Zend_Validator
  5.3.1 Zend_Validatorが提供するフィルタ
  5.3.2 Zend_Validatorの基本
  5.3.3 検証クラス使用時の注意点
  5.3.4 検証メッセージを日本語化する
  5.3.5 バリデータチェーン
  5.3.6 自作検証クラスの定義
  5.3.7 より複雑な検証クラスの例
5.4 データのフィルタリングを実行したい―Zend_Filter
  5.4.1 Zend_Filterが提供するフィルタ
  5.4.2 Zend_Filterの基本
  5.4.3 フィルタクラスの利用例
  5.4.4 フィルタチェーン
  5.4.5 自作フィルタクラスの定義
5.5 検証/フィルタリング規則をまとめて管理したい―Zend_Filter_Input
  5.5.1 Zend_Filter_Inputの基本
  5.5.2 検証/フィルタリング規則の定義
  5.5.3 検証/フィルタリング処理の実行
  5.5.4 検証/フィルタリング結果の取得
  5.5.5 メタコマンド
5.6 指定したルールで文字列の高度な変換を行いたい―Zend_Filter_Inflector
  5.6.1 Zend_Filter_Inflectorの基本

6 外部サービスとの連携でより高度なアプリケーション構築

6.1 メールの送受信をしたい―Zend_Mail
  6.1.1 Zend_Mailを利用するための準備
  6.1.2 Zend_Mailによるテキストメールの送信
  6.1.3 HTMLメールや添付ファイル付きのメールを送信する
  6.1.4 外部のSMTPサーバを利用する
  6.1.5 メールを受信する
  6.1.6 メール本文を解析する
6.2 外部サイトとのHTTP通信をしたい―Zend_Http
  6.2.1 Zend_Httpの基本
  6.2.2 リクエストパラメータを追加する(クエリ情報)
  6.2.3 リクエストパラメータを追加する(ポストデータ)
  6.2.4 ファイルをアップロードする
  6.2.5 リクエスト時にクッキー情報を送信する
  6.2.6 持続的なクッキーを利用する
  6.2.7 接続アダプタを変更する
6.3 フィードを発行/解析したい―Zend_Feed
  6.3.1 Zend_Feedによるフィードの取得
  6.3.2 RSS/Atomフィードに対応する方法
  6.3.3 自サイトの新着情報をフィード公開する
6.4 REST式Web APIを活用したい―Zend_Rest
  6.4.1 Zend_RestによるREST式Web APIへのアクセス
  6.4.2 自作のRESTサービスを提供する
  6.4.3 Zend_Rest_Serverクラスで定義されたサービスにアクセスする
  6.4.4 独自のレスポンスを定義する
6.5 XML-RPCによるサーバ間通信を利用する―Zend_XmlRpc
  6.5.1 Zend_XmlRpcによるXML-RPCサービスへのアクセス
  6.5.2 プロキシオブジェクトによるサービス呼び出し
  6.5.3 引数のデータ型を明示的に宣言する
  6.5.4 自作のXML-RPCサービスを提供する
6.6 ネットワーク上の有名なサービスを活用したい―Zend_Service
  6.6.1 Amazon Webサービスで書籍情報を検索したい―Zend_Service_Amazon
  6.6.2 Yahoo!検索Webサービスでサイト検索機能を実装したい―Zend_Service_Yahoo
  6.6.3 Technorati Webサービスでブログ検索機能を実装したい―Zend_Service_Technorati

7 ライブラリの活用でアプリケーション管理を効率化

7.1 アプリケーションに認証機能を実装したい―Zend_Auth
  7.1.1 Zend_Authの特長
  7.1.2 Zend_Authによるデータベース認証
  7.1.3 Zend_Authによる基本認証
  7.1.4 Zend_AuthによるOpen ID認証
  7.1.5 Zend_Authの応用―アプリケーション全体に認証機能を適用する
  7.1.6 認証アダプタを自作する
7.2 ユーザ権限に応じてアクセスを制御したい―Zend_Acl
  7.2.1 Zend_Aclの基本知識
  7.2.2 ロール/ユーザ権限の定義
  7.2.3 リソース単位の権限設定
  7.2.4 ロールのさまざまな設定方法
  7.2.5 アサーションによる条件付き権限の定義
  7.2.6 アクションコントローラにアクセス制御機能を組み込む
7.3 アプリケーションの設定情報を一元管理したい―Zend_Config
  7.3.1 Zend_Configクラスの基本
  7.3.2 「.ini」ファイルを利用するための準備
  7.3.3 「.ini」ファイルを利用する
  7.3.4 「.xml」ファイルを利用する
  7.3.5 設定情報を結合する
7.4 さまざまなストレージへのロギングを簡易に行いたい―Zend_Log
  7.4.1 Zend_Log利用の事前知識
  7.4.2 Zend_Logによるログ出力の基本
  7.4.3 データベースに対してログを出力する
  7.4.4 複数のライターを関連付ける
  7.4.5 ログ出力の形式をカスタマイズする
  7.4.6 Zend_Logの応用―エラーコントローラとの連携
7.5 キャッシュ機能を実装したい―Zend_Cache
  7.5.1 Zend_Cacheの特徴
  7.5.2 Zend_Cacheコンポーネントの基本的な使い方
  7.5.3 パラメータ依存のキャッシュの生成する
  7.5.4 Outputフロントエンドによるページキャッシュ
  7.5.5 Pageフロントエンドによる高度なページキャッシュ
  7.5.6 Functionフロントエンドによる関数キャッシュ
  7.5.7 Classフロントエンドによるメソッドのキャッシュ
  7.5.8 Fileフロントエンドでマスターファイルとキャッシュデータを同期する
  7.5.9 キャッシュデータをSQLiteデータベースに保存する
7.6 セッション機能を活用したい―Zend_Session
  7.6.1 セッション情報を名前空間単位で管理する
  7.6.2 セッション機能を起動する
  7.6.3 セッション機能を開始する際の注意点
  7.6.4 特定の名前空間をロックする
  7.6.5 複数インスタンスの生成を禁止する
  7.6.6 セッションの動作オプションを設定する
  7.6.7 セッションハイジャックのリスクを抑える

8 帳票作成から国際化対応機能まで―Zend Frameworkの魅力

8.1 動的にPDF文書を生成したい―Zend_Pdf
  8.1.1 日本語フォントの準備
  8.1.2 基本的なPDF文書を作成する
  8.1.3 PDF文書に色つきのテキストや画像、標準図形を出力する
  8.1.4 既存テンプレートをベースにPDF文書を生成する
8.2 日付/時刻の演算/整形/比較をしたい―Zend_Date
  8.2.1 Zend_Dateを利用する前に
  8.2.2 Zend_Dateオブジェクトの生成
  8.2.3 日付/時刻要素を設定する
  8.2.4 日付/時刻要素を取得する―getメソッド
  8.2.5 日付/時刻要素を取得する―その他のメソッド
  8.2.6 日付/時刻の加算/減算
  8.2.7 日付/時刻の比較/判定
8.3 通貨を伴う数値を整形したい―Zend_Currency
  8.3.1 数値を通貨形式に整形する
  8.3.2 デフォルトのフォーマットをカスタマイズする
8.4 単位を伴う数値の演算/比較をしたい―Zend_Measure
  8.4.1 Zend_Measureの基本
  8.4.2 計測値の加算/減算
  8.4.3 計測値の比較
8.5 アプリケーションを多言語対応にしたい―Zend_Translate
  8.5.1 Zend_Translateの基本
  8.5.2 主要なアダプタの使い方
  8.5.3 翻訳ソースの自動検出機能

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が利用可能なレンタルサーバ

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2009年11月17日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 157
リスト4.17 中ほど
$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);
2009.11.17
1刷 371
本文 下から2行目
imageSearchメソッド(画像検索)、メソッド(動画検索)
imageSearchメソッド(画像検索)、videoSearchメソッド(動画検索)
2008.12.10
1刷 372
本文 下から3行目
個々の商品情報
個々のサイト情報
2008.12.10
1刷 xiii
COLUMN目次
PHPアプリ開発に役立つ統合開発環境―PHP Development Tool……129
PHPアプリ開発に役立つ統合開発環境―PHP Development Tool……130
2008.12.10

感想・レビュー

Q さん

2020-11-22

PHP言語でのWebアプリケーションフレームワークの1つであるZend Frameworkの詳説本。このフレームワークでのMVCそれぞれのスクリプトのファイル配置とルーティングについてはぼんやりと理解できた気がする。またこのフレームワークはRailsと違って疎結合なコントローラの集合で、どう組み合わせるかは開発者にゆだねられているようだ。規則を自分で構築したい開発者にはこういったアプローチの方が嬉しいのかもしれないと感じた。

椿かすみ さん

2015-07-20

ずっと「読んでる本」状態だったので「読んだ本」に変更。読了から時が経ちすぎ、またその間業務で2年半ほどZendを利用していたため、何が本に書いてあったことで、何が実務から学んだことだったかあやふやである……個人の感想になるが、とりあえず「Frameworkとは何ぞや」を知りたい場合は、本書は脇に置くとしても、実際に触るほうが効率的だとは思う。もちろん、触るだけで全てが理解できるとは思わないが。なお現在はFuel使ってます。