Previous Next

ライター

ライターは、Zend_Log_Writer_Abstract を継承したオブジェクトです。ライターの役割は、 ログのデータをバックエンドのストレージに記録することです。

ストリームへの書き出し

Zend_Log_Writer_Stream は、ログデータを » PHP のストリーム に書き出します。

ログのデータを PHP の出力バッファに書き出すには、URL php://output を使用します。一方、ログのデータを直接 STDERR のようなストリームに送ることもできます (php://stderr)。

$writer = new Zend_Log_Writer_Stream('php://output');
$logger = new Zend_Log($writer);

$logger->info('Informational message');

データをファイルに書き出すには、 » ファイルシステム URL のいずれかを使用します。

$writer = new Zend_Log_Writer_Stream('/path/to/logfile');
$logger = new Zend_Log($writer);

$logger->info('Informational message');

デフォルトでは、ストリームを追記モード ("a") でオープンします。 別のモードでオープンするには、Zend_Log_Writer_Stream のコンストラクタで二番目のオプション引数にモードを指定します。

Zend_Log_Writer_Stream のコンストラクタには、 既存のストリームリソースを指定することもできます。

$stream = @fopen('/path/to/logfile', 'a', false);
if (! $stream) {
    throw new Exception('ストリームのオープンに失敗しました');
}

$writer = new Zend_Log_Writer_Stream($stream);
$logger = new Zend_Log($writer);

$logger->info('通知メッセージ');

既存のストリームリソースに対してモードを指定することはできません。 指定しようとすると Zend_Log_Exception をスローします。

データベースへの書き出し

Zend_Log_Writer_Db は、 Zend_Db を使用してログ情報をデータベースに書き出します。 Zend_Log_Writer_Db のコンストラクタには Zend_Db_Adapter のインスタンス、テーブル名 およびデータベースのカラムとイベントデータ項目との対応を指定します。

$params = array ('host'     => '127.0.0.1',
                 'username' => 'malory',
                 'password' => '******',
                 'dbname'   => 'camelot');
$db = Zend_Db::factory('PDO_MYSQL', $params);

$columnMapping = array('lvl' => 'priority', 'msg' => 'message');
$writer = new Zend_Log_Writer_Db($db, 'log_table_name', $columnMapping);

$logger = new Zend_Log($writer);

$logger->info('通知メッセージ');

上の例は、一行ぶんのログデータを 'log_table_name' という名前のテーブルに書き出します。データベースのカラム 'lvl' には優先度の番号が格納され、'msg' というカラムにログのメッセージが格納されます。

Firebug への書き込み

Zend_Log_Writer_Firebug は、ログデータを » Firebug » コンソール に送信します。

zend.wildfire.firebug.console.png

すべてのデータの送信には Zend_Wildfire_Channel_HttpHeaders コンポーネントを使用します。これは HTTP ヘッダを使用するので、 ページのコンテンツには何も影響を及ぼしません。 この方式なら、AJAX リクエストのようにクリーンな JSON および XML レスポンスを要求するリクエストのデバッグも行えます。

要件:

例1 Zend_Controller_Front を使ったログ記録

// 起動ファイルで、フロントコントローラのディスパッチの前に記述します
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);

// モデル、ビューおよびコントローラのファイル内でこれを使用します
$logger->log('This is a log message!', Zend_Log::INFO);

例2 Zend_Controller_Front を使わないログ記録

$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);

$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);

// 出力バッファリングを開始します
ob_start();

// ロガーをコールします

$logger->log('This is a log message!', Zend_Log::INFO);

// ログデータをブラウザに送ります
$channel->flush();
$response->sendHeaders();

優先度のスタイルの設定

組み込みの優先度やユーザ定義の優先度を使うには setPriorityStyle() メソッドを使用します。

$logger->addPriority('FOO', 8);
$writer->setPriorityStyle(8, 'TRACE');
$logger->foo('Foo Message');

ユーザ定義の優先度用のデフォルトのスタイルを設定するには setDefaultPriorityStyle() メソッドを使用します。

$writer->setDefaultPriorityStyle('TRACE');

サポートしているスタイルは次のとおりです。

Firebug Logging Styles
スタイル 説明
LOG 通常のログメッセージを表示します
INFO 情報ログメッセージを表示します
WARN 警告ログメッセージを表示します
ERROR エラーログメッセージを表示し、Firebug のエラーカウントをひとつ増やします
TRACE 拡張スタックトレースつきのログメッセージを表示します
EXCEPTION 拡張スタックトレースつきのエラーログメッセージを表示します
TABLE 拡張テーブルつきのログメッセージを表示します

ログ記録用のデータの準備

任意の PHP の変数を組み込みの優先度でログに記録できますが、 特殊なログ形式を使う場合は、何らかの書式変換が必要となります。

LOGINFOWARNERROR そして TRACE については特別な書式変換は不要です。

例外のログ記録

Zend_Exception のログを記録するには、 単にその例外オブジェクトをロガーに渡すだけです。 設定している優先度やスタイルにかかわらず、 例外は自動的に例外と判断されます。

$exception = new Zend_Exception('Test exception');
$logger->err($exception);

表形式のログ

ログを表形式で記録できます。カラムは自動検出され、 データの最初の行がヘッダと見なされます。

$writer->setPriorityStyle(8, 'TABLE');
$logger->addPriority('TABLE', 8);

$table = array('Summary line for the table',
             array(
                 array('Column 1', 'Column 2'),
                 array('Row 1 c 1',' Row 1 c 2'),
                 array('Row 2 c 1',' Row 2 c 2')
             )
            );
$logger->table($table);

Email への書き込み

Zend_Log_Writer_Mail は、 Zend_Mail を使ってログエントリをメールのメッセージに書き出します。 Zend_Log_Writer_Mail のコンストラクタは Zend_Mail オブジェクトを受け取り、 またオプションで Zend_Layout オブジェクトを受け取ります。

Zend_Log_Writer_Mail の主な使い道は、 開発者やシステム管理者など関係者に対して PHP スクリプトで発生したエラーを通知することです。 「何か問題がおこったら、すぐに人間に通知しないとね。 そうすればすぐに適切な対応ができるわけだから」そんなアイデアを元に Zend_Log_Writer_Mail が誕生しました。

基本的な使い方は以下のとおりです。

$mail = new Zend_Mail();
$mail->setFrom('errors@example.org')
     ->addTo('project_developers@example.org');

$writer = new Zend_Log_Writer_Mail($mail);

// 件名に使用するテキストを設定します。実際にメッセージを送信する前に、
// 発生したエラー数がこの件名に付け加えられます
$writer->setSubjectPrependText('Errors with script foo.php');

// 警告レベル以上の場合にのみメールを送信します
$writer->addFilter(Zend_Log::WARN);

$log = new Zend_Log();
$log->addWriter($writer);

// なにかが起こりました!
$log->error('unable to connect to database');

// ライターの処理が終了すると Zend_Mail::send() が立ち上がり、
// 上の Zend_Log フィルタレベル以上のすべてのログメッセージが送信されます

Zend_Log_Writer_Mail は、デフォルトで メールの本文をプレーンテキスト形式でレンダリングします。

指定したフィルタレベル以上のすべてのログエントリが、 ひとつのメールにまとめて送られます。たとえば、 警告レベル以上を送信するよう設定しているときに 2 つの警告と 5 つのエラーが発生したら、 メールには 7 つのログエントリが含まれることになります。

Zend_Layout の使用法

Zend_Layout のインスタンスを使用して、 マルチパートメールの HTML 部を作成できます。 Zend_Layout のインスタンスが用いられた場合、 Zend_Log_Writer_MailHTML をレンダリングするものとみなし、 Zend_Layout がレンダリングした値をメッセージの本文 HTML として設定します。

Zend_Log_Writer_MailZend_Layout のインスタンスを使う場合には、 setLayoutFormatter() メソッドで独自のフォーマッタを指定できます。 Zend_Layout 用のエントリフォーマッタを指定しなかった場合は、 現在使用中のものをそのまま使います。 Zend_Layout で独自のフォーマッタを使用する方法を以下に示します。

$mail = new Zend_Mail();
$mail->setFrom('errors@example.org')
     ->addTo('project_developers@example.org');
// 件名は Zend_Mail のインスタンスには設定していないことに注意しましょう!

// シンプルに、デフォルトの Zend_Layout のインスタンスを使用します
$layout = new Zend_Layout();

// エントリを li タグで囲むフォーマッタを作成します
$layoutFormatter = new Zend_Log_Formatter_Simple(
    '
  • ' . Zend_Log_Formatter_Simple::DEFAULT_FORMAT . '
  • ' ); $writer = new Zend_Log_Writer_Mail($mail, $layout); // Zend_Layout でレンダリングするための、エントリのフォーマッタを適用します $writer->setLayoutFormatter($layoutFormatter); $writer->setSubjectPrependText('Errors with script foo.php'); $writer->addFilter(Zend_Log::WARN); $log = new Zend_Log(); $log->addWriter($writer); // なにかが起こりました! $log->error('unable to connect to database'); // ライターの処理が終了すると Zend_Mail::send() が立ち上がり、 // 上の Zend_Log フィルタレベル以上のすべてのログメッセージが送信されます // メールは、プレーンテキストと HTML パートの両方を含む形式になります

    件名でのエラーの概要

    setSubjectPrependText() メソッドを Zend_Mail::setSubject() のかわりに使用すると、 メールを送信する直前に件名を動的に書き込むことができます。たとえば、 件名のテキストが "Errors from script" だとすると、 2 つの警告と 5 つのエラーが発生した場合に Zend_Log_Writer_Mail が作成するメールの件名は "Errors from script (warn = 2; error = 5)" となります。Zend_Log_Writer_Mail で件名のテキストを設定しなかった場合、もし Zend_Mail で設定されていればそれを使用します。

    警告

    ログエントリをメールでおくるのは危険なこともあります。 スクリプト内でのエラー条件の処理が不適切だったり エラーレベルの使用法を間違えたりすると、 エラーの発生頻度によっては何百通何千通ものメールを送信してしまう可能性があります。

    現時点では、Zend_Log_Writer_Mail にはメッセージを抑制したりひとつにまとめたりする機能はありません。 そのような機能が必要な場合は自前で実装する必要があります。

    もう一度言いますが、Zend_Log_Writer_Mail の第一の目標は、人間に向けてエラーの情報を積極的に伝えることです。 これらのエラーがタイミングよく処理され、 このような状況が避けられるような機能が実装されたときには、 メールによるエラー通知は便利な道具となることでしょう。

    システムログへの書き込み

    Zend_Log_Writer_Syslogは、 システムログ (syslog) にログ項目を書きます。 内部的には、それはPHPopenlog()closelog()、 そして syslog()関数の代わりです。

    Zend_Log_Writer_Syslogが役立つ例の1つは、 クラスター形成されたマシンからシステムログ機能を通して集計されるログです。 多くのシステムでは、システム・イベントをリモートでログ収集できます。 それにより、システム管理者が単一のログファイルでマシンのクラスタをモニターできるようになります。

    デフォルトで、生成されるsyslogメッセージはすべて、 文字列「Zend_Log」という接頭辞が付きます。 コンストラクタ、またはアプリケーション・アクセッサにアプリケーション名を渡すことで、 そのようなログメッセージを特定する異なる「アプリケーション」名を指定するかもしれません。

    //インスタンス生成時に任意で "application" キーを渡します。
    $writer = new Zend_Log_Writer_Syslog(array('application' => 'FooBar'));
    
    //そのほかいつでも
    $writer->setApplicationName('BarBaz');

    システムログでは "facility" やアプリケーション・タイプ、 またはログ収集メッセージを指定できます。 多くのシステム・ロガーは、実は機能毎に異なるログファイルを生成します。 それは、前と同じように、サーバ活動をモニターする管理者を助けます。

    コンストラクタ、またはアクセッサでログ機能を指定するかもしれません。 それは、» openlog() マニュアルで定義される openlog()定数のうちの1つでなければなりません。

    //インスタンス生成時に任意で "facility" キーを渡します。
    $writer = new Zend_Log_Writer_Syslog(array('facility' => LOG_AUTH));
    
    //そのほかいつでも
    $writer->setFacility(LOG_USER);

    ログ収集時に、デフォルトのZend_Log 優先度定数を使い続けるかもしれません。 内部的には、それらは適切な syslog() 優先度定数にマップされます。

    Zend Server モニターへの書き込み

    Zend_Log_Writer_ZendMonitor では、Zend Server のモニター API を介してイベントを記録できます。 これにより、アプリケーション環境全体のログ・メッセージを一箇所に集約できます。 内部的には、それは単に Zend モニター API 由来の monitor_custom_event() 関数を使用します。

    モニター API で特に役立つ機能は、 ログ・メッセージと一緒に任意のカスタム情報を指定できることです。 たとえば、例外を記録したい場合、まさにその例外メッセージを記録できません。 しかし、関数に例外オブジェクトを全て渡せます。 そして、Zend Server イベント・モニターの内部でオブジェクトを調査できます。

    注意: Zend モニターがインストールされ、使用可能にされなければいけません

    このログ・ライタを使用するには、Zend モニターがインストールされ、使用可能にされなければなりません。 しかしながら、Zend モニターが検出されない場合、NULL ロガーとして単純に動作するように設計されています。

    ZendMonitorログ・ライタのインスタンス生成は特記するまでもありません。

    $writer = new Zend_Log_Writer_ZendMonitor();
    $log    = new Zend_Log($writer);

    それから、通常通り単純にメッセージを記録します。

    $log->info('This is a message');

    イベントと共に記録する追加の情報を指定したい場合は、 2番目の引数でその情報を渡します。

    $log->info('Exception occurred', $e);

    2番目の引数は、スカラー、オブジェクトまたは配列です。 情報の複数の部分を渡す必要があるならば、そうする最高の方法は連想配列を渡すことです。

    $log->info('Exception occurred', array(
        'request'   => $request,
        'exception' => $e,
    ));

    Zend Server 内では、イベントは「カスタム・イベント」として記録されます。 「モニター」タブから「イベント」項目を選び、カスタム・イベントを見るために、「カスタム」上で絞り込みます。

    zend.log.writers.zendmonitor-events.png

    Zend Server のモニター・ダッシュボードのイベント

    このスクリーン・ショットで、一覧表示される最初の2つのイベントは、 ZendMonitorログ・ライタを通して記録されるカスタム・イベントです。 関連した情報を全て見るには、イベントをクリックします。

    zend.log.writers.zendmonitor-event.png

    Zend Server のモニターのイベント詳細

    「カスタム」タブをクリックすると、ログ収集メソッドに2番目の引数を渡して記録した 追加の情報を全て詳しく表示します。 この情報は、info キーとして記録されます。 この例では、リクエスト・オブジェクトが記録されることを確認できます。

    注意: Zend_Application との統合

    zf.shzf.bat コマンドは、デフォルトで Zend_Application ログ・リソース用の構成を追加します。 そして、それは ZendMonitor ログ・ライタ用の構成を含みます。 さらに、ErrorController は、アプリケーション例外を記録するために 構成されたロガーを使います。それは、デフォルトでZend モニター・イベント統合とともに提供します。

    前述のように、モニター APIPHP インストールで検出されない場合、 ロガーは単純に NULL ロガーとして動作します。

    ライターのスタブ

    Zend_Log_Writer_Null はスタブで、ログデータをどこにも書き出しません。 これは、ログ出力を無効にしたりテスト時などに便利です。

    $writer = new Zend_Log_Writer_Null;
    $logger = new Zend_Log($writer);
    
    // どこにも出力されません
    $logger->info('通知メッセージ');

    モックによるテスト

    Zend_Log_Writer_Mock は非常にシンプルなライターです。 受け取った生のデータを配列に格納し、それを public プロパティとして公開します。

    $mock = new Zend_Log_Writer_Mock;
    $logger = new Zend_Log($mock);
    
    $logger->info('通知メッセージ');
    
    var_dump($mock->events[0]);
    
    // Array
    // (
    //    [timestamp] => 2007-04-06T07:16:37-07:00
    //    [message] => 通知メッセージ
    //    [priority] => 6
    //    [priorityName] => INFO
    // )

    モックが記録したイベントを消去するには、単純に $mock->events = array() とします。

    ライターを組み合わせる

    合成ライターオブジェクトはありません。 しかし、ログのインスタンスは任意の数のライターに書き出すことができます。そのためには addWriter() メソッドを使用します。

    $writer1 = new Zend_Log_Writer_Stream('/path/to/first/logfile');
    $writer2 = new Zend_Log_Writer_Stream('/path/to/second/logfile');
    
    $logger = new Zend_Log();
    $logger->addWriter($writer1);
    $logger->addWriter($writer2);
    
    // 両方のライターに書き出されます
    $logger->info('通知メッセージ');
    Previous Next
    Zend Framework の紹介
    概要
    インストール
    Zend Framework を学ぶ(主に英語)
    クイックスタート(ごく一部のみ日本語)
    Zend Framework & MVC Introduction
    プロジェクトを作成
    Create A Layout
    モデルとデータベーステーブルの作成
    Create A Form
    おめでとう!
    オートローディング(英語)
    Introduction
    Goals and Design
    Basic Autoloader Usage
    Resource Autoloading
    Conclusion
    プラグイン(英語)
    Introduction
    Using Plugins
    Conclusion
    Zend_Layout 入門(英語)
    Introduction
    Using Zend_Layout
    Zend_Layout: Conclusions
    Zend_View プレイスフォルダ入門(英語)
    Introduction
    Basic Placeholder Usage
    Standard Placeholders
    View Placeholders: Conclusion
    Zend Form デコレータを理解して使う(ごく一部のみ日本語)
    Introduction
    Decorator Basics
    Layering Decorators
    Rendering Individual Decorators
    Creating and Rendering Composite Elements
    結論
    Zend_Session, Zend_Auth, Zend_Acl 入門(英語)
    Building Multi-User Applications With Zend Framework
    Managing User Sessions In ZF
    Authenticating Users in Zend Framework
    Building an Authorization System in Zend Framework
    Zend_Search_Lucene 入門(一部日本語)
    Zend_Search_Lucene Introduction
    Lucene Index Structure
    インデックスのオープンと生成
    索引付け
    検索
    サポートされるクエリー
    検索結果のページ化
    Zend_Paginator 入門(英語)
    Introduction
    Simple Examples
    Pagination Control and ScrollingStyles
    Putting it all Together
    Zend Framework リファレンス
    Zend_Acl
    導入
    アクセス制御の洗練
    高度な使用法
    Zend_Amf
    導入
    Zend_Amf_Server(日本語)
    Zend_Application
    導入
    Zend_Application クイックスタート
    Theory of Operation
    コア機能
    利用できるリソースプラグイン
    Zend_Auth
    導入
    データベースのテーブルでの認証
    ダイジェスト認証
    HTTP 認証アダプタ
    LDAP 認証
    Open ID 認証
    Zend_Barcode
    導入
    Barcode creation using Zend_Barcode class
    Zend_Barcode Objects
    Zend_Barcode Renderers
    Zend_Cache
    導入
    キャッシュの仕組み
    Zend_Cache のフロントエンド
    Zend_Cache のバックエンド
    The Cache Manager
    Zend_Captcha
    導入
    Captcha の方法
    CAPTCHA アダプタ
    SimpleCloud API: Zend_Cloud
    Document Service Introduction
    Queue Service Introduction
    StorageService Introduction
    Zend_CodeGenerator
    導入
    Zend_CodeGeneratorサンプル
    Zend_CodeGenerator リファレンス
    Zend_Config
    導入
    動作原理
    Zend_Config_Ini(日本語)
    Zend_Config_Json
    Zend_Config_Xml(日本語)
    Zend_Config_Yaml
    Zend_Config_Writer
    Zend_Config_Writer(日本語)
    Zend_Console_Getopt
    導入
    Getopt の規則の宣言
    オプションおよび引数の取得
    Zend_Console_Getopt の設定
    Zend_Controller
    Zend_Controller クイックスタート
    Zend_Controller の基本
    フロントコントローラ
    リクエストオブジェクト
    標準のルータ
    ディスパッチャ
    アクションコントローラ
    アクションヘルパー
    レスポンスオブジェクト
    プラグイン
    モジュラーディレクトリ構造の規約の使用
    MVC での例外
    Zend_Currency
    Zend_Currency について
    Using Zend_Currency
    Options for currencies
    What makes a currency?
    Where is the currency?
    How does the currency look like?
    How much is my currency?
    Calculating with currencies
    Exchanging currencies
    Additional informations on Zend_Currency
    Zend_Date
    導入
    動作原理
    基本メソッド
    Zend_Date API の概要
    日付の作成
    日付関数全般用の定数
    動作例
    Zend_Db
    Zend_Db_Adapter(日本語)
    Zend_Db_Statement(日本語)
    Zend_Db_Profiler(日本語)
    Zend_Db_Select(日本語)
    Zend_Db_Table(日本語)
    Zend_Db_Table_Row(日本語)
    Zend_Db_Table_Rowset(日本語)
    導入
    Zend_Db_Table_Definition(日本語)
    Zend_Debug
    変数の出力
    Zend_Dojo
    導入
    Zend_Dojo_Data: dojo.data エンベロープ
    Dojo ビューヘルパー
    Dojoフォーム要素とデコレーター
    Zend_Dojo build layer support
    Zend_Dom
    導入
    Zend_Dom_Query(日本語)
    Zend_Exception
    例外の使用法
    基本的な使用法
    Previous Exceptions (前の例外)
    Zend_Feed
    導入
    フィードの読み込み
    ウェブページからのフィードの取得
    RSS フィードの使用
    Atom フィードの使用
    単一の Atom エントリの処理
    フィードおよびエントリの構造の変更
    独自のフィードクラスおよびエントリクラス
    Zend_Feed_Reader
    Zend_Feed_Writer
    Zend_Feed_Pubsubhubbub
    Zend_File
    Zend_File_Transfer(日本語)
    Zend_File_Transfer 用のバリデータ
    Filters for Zend_File_Transfer
    Zend_Filter
    導入
    標準のフィルタクラス群
    フィルタチェイン
    フィルタの書き方
    Zend_Filter_Input(日本語)
    Zend_Filter_Inflector(日本語)
    Zend_Form
    Zend_Form(日本語)
    Zend_Form クイックスタート
    Zend_Form_Element を用いたフォーム要素の作成
    Zend_Form によるフォームの作成
    Zend_Form_Decorator による独自のフォームマークアップの作成
    Zend Framework に同梱されている標準のフォーム要素
    Zend Framework に同梱されている標準のデコレータ
    Zend_Form の国際化
    Zend_Form の高度な使用法
    Zend_Gdata
    導入
    AuthSub による認証
    Using the Book Search Data API
    ClientLogin による認証
    Google Calendar の使用法
    Google Documents List Data API の使用法
    Using Google Health
    Google Spreadsheets の使用法
    Google Apps Provisioning の使用法
    Google Base の使用法
    Picasa Web Albums の使用法
    YouTube Data API の使用法
    Gdata の例外処理
    Zend_Http
    導入
    Zend_Http_Client - 高度な使用法
    Zend_Http_Client - 接続アダプタ
    Zend_Http_Cookie および Zend_Http_CookieJar
    Zend_Http_Response(日本語)
    Zend_Http_UserAgent
    The UserAgent Device Interface
    The UserAgent Features Adapter
    The WURFL UserAgent Features Adapter
    The DeviceAtlas UserAgent Features Adapter
    The TeraWurfl UserAgent Features Adapter
    The UserAgent Storage Interface
    The Session UserAgent Storage Adapter
    Zend_InfoCard
    導入
    Zend_Json
    導入
    基本的な使用法
    Zend_Json の高度な使用法
    XML から JSON への変換
    Zend_Json_Server - JSON-RPCサーバー
    Zend_Layout
    導入
    Zend_Layout クイックスタート
    Zend_Layout の設定オプション
    Zend_Layout の高度な使用法
    Zend_Ldap
    導入
    API概要
    利用シナリオ
    ツール
    Zend_Ldap_Nodeを使用してLDAPツリーへのオブジェクト指向アクセス
    LDAPサーバから情報を取得
    LDIFへ、または、からのLDAPデータシリアライズ
    Zend_Loader
    ファイルやクラスの動的な読み込み
    The Autoloader
    Resource Autoloaders
    プラグインのロード
    Zend_Locale
    導入
    Zend_Locale の使用法
    正規化および地域化
    日付および時刻の扱い
    サポートするロケール
    Zend_Log
    概要
    ライター
    フォーマッタ
    フィルタ
    Using the Factory to Create a Log
    Zend_Mail
    導入
    SMTP 経由での送信
    SMTP 接続による複数のメールの送信
    異なる転送手段の使用
    HTML メール
    ファイルの添付
    受信者の追加
    MIME バウンダリの制御
    追加のヘッダ
    文字セット
    エンコーディング
    SMTP 認証
    セキュアな SMTP トランスポート
    メールメッセージの読み込み
    Zend_Markup
    導入
    さあ始めましょう
    Zend_Markup パーサー
    Zend_Markup レンダラー
    Zend_Measure
    導入
    計測値の作成
    計測値の出力
    計測値の操作
    計測値の型
    Zend_Memory
    概要
    メモリマネージャ
    メモリオブジェクト
    Zend_Mime
    Zend_Mime(日本語)
    Zend_Mime_Message(日本語)
    Zend_Mime_Part(日本語)
    Zend_Navigation
    導入
    画面
    Containers
    Zend_Oauth
    Introduction to OAuth
    Zend_OpenId
    導入
    Zend_OpenId_Consumer の基本
    Zend_OpenId_Provider(日本語)
    Zend_Paginator
    導入
    使用法
    設定
    高度な使用法
    Zend_Pdf
    導入
    PDF ドキュメントの作成および読み込み
    PDF ドキュメントへの変更内容の保存
    ページの操作
    描画
    Interactive Features
    ドキュメントの情報およびメタデータ
    Zend_Pdf モジュールの使用例
    Zend_ProgressBar
    Zend_ProgressBar(日本語)
    Zend_Queue
    導入
    使用例
    フレームワーク
    アダプタ
    Zend_Queueのカスタマイズ
    Stomp(日本語)
    Zend_Reflection
    導入
    Zend_Reflectionサンプル
    Zend_Reflectionリファレンス
    Zend_Registry
    レジストリの使用法
    Zend_Rest
    導入
    Zend_Rest_Client(日本語)
    Zend_Rest_Server(日本語)
    Zend_Search_Lucene
    概要
    インデックスの構築
    インデックスの検索
    クエリ言語
    クエリ作成用の API
    文字セット
    拡張性
    Java Lucene との相互運用
    応用
    ベストプラクティス
    Zend_Serializer
    導入
    Zend_Serializer_Adapter
    Zend_Server
    導入
    Zend_Server_Reflection(日本語)
    Zend_Service
    導入
    Zend_Service_Akismet(日本語)
    Zend_Service_Amazon(日本語)
    Zend_Service_Amazon_Ec2(日本語)
    Zend_Service_Amazon_Ec2: Instances
    Zend_Service_Amazon_Ec2: Windows Instances
    Zend_Service_Amazon_Ec2: Reserved Instances
    Zend_Service_Amazon_Ec2: CloudWatch Monitoring
    Zend_Service_Amazon_Ec2: Amazon Machine Images (AMI)
    Zend_Service_Amazon_Ec2: Elastic Block Storage (EBS)
    Zend_Service_Amazon_Ec2: Elastic IP Addresses
    Zend_Service_Amazon_Ec2: Keypairs(日本語)
    Zend_Service_Amazon_Ec2:リージョンおよび利用可能ゾーン
    Zend_Service_Amazon_Ec2: Security Groups
    Zend_Service_Amazon_S3
    Zend_Service_Amazon_Sqs
    Zend_Service_Audioscrobbler(日本語)
    Zend_Service_Delicious(日本語)
    Zend_Service_DeveloperGarden
    Zend_Service_Ebay
    Zend_Service_Ebay_Finding
    Zend_Service_Flickr(日本語)
    Zend_Service_LiveDocx
    Zend_Service_Nirvanix(日本語)
    Zend_Service_ReCaptcha(日本語)
    Zend_Service_ShortUrl
    Zend_Service_Simpy(日本語)
    Zend_Service_SlideShare(日本語)
    Zend_Service_StrikeIron(日本語)
    Zend_Service_StrikeIron: バンドルされているサービス
    Zend_Service_StrikeIron: 応用編
    Zend_Service_Technorati(日本語)
    Zend_Service_Twitter
    Zend_Service_WindowsAzure
    Zend_Service_WindowsAzure_Storage_Blob
    Zend_Service_WindowsAzure_Diagnostics_Manager
    Zend_Service_WindowsAzure_Storage_Queue
    Zend_Service_WindowsAzure_Storage_Table
    Zend_Service_Yahoo(日本語)
    Zend_Session
    導入
    基本的な使用法
    高度な使用法
    グローバルセッションの管理
    Zend_Session_SaveHandler_DbTable(日本語)
    Zend_Soap
    Zend_Soap_Server(日本語)
    Zend_Soap_Client(日本語)
    WSDLアクセッサ
    自動検出
    Zend_Tag
    導入
    Zend_Tag_Cloud
    Zend_Test
    導入
    Zend_Test_PHPUnit(日本語)
    Zend_Test_PHPUnit_Db(日本語)
    Zend_Text
    Zend_Text_Figlet(日本語)
    Zend_Text_Table(日本語)
    Zend_TimeSync
    導入
    Zend_TimeSync の動作
    Zend_Tool
    Using Zend_Tool On The Command Line
    Extending Zend_Tool
    Zend_Tool_Framework
    導入
    CLIツールの使用
    アーキテクチャ
    Zend_Tool_Frameworkを利用してプロバイダを作成する
    出荷されたシステムプロバイダー
    Extending and Configuring Zend_Tool_Framework
    Zend_Tool_Project
    導入
    プロジェクトを作成
    Zend_Tool Project Providers
    Zend_Tool_Project Internals
    Zend_Translate
    導入
    Zend_Translate のアダプタ
    翻訳アダプタの使用法
    ソースファイルの作成
    翻訳用の追加機能
    Plural notations for Translation
    Zend_Uri
    Zend_Uri(日本語)
    Zend_Validate
    導入
    標準のバリデーションクラス群
    バリデータチェイン
    バリデータの書き方
    検証メッセージ(一部日本語)
    Zend_Version
    Zend Framework のバージョンの取得
    Zend_View
    導入
    コントローラスクリプト
    ビュースクリプト
    ビューヘルパー
    Zend_View_Abstract(日本語)
    Zend_Wildfire
    Zend_Wildfire(日本語)
    Zend_XmlRpc
    導入
    Zend_XmlRpc_Client
    Zend_XmlRpc_Server(日本語)
    ZendX_Console_Process_Unix
    ZendX_Console_Process_Unix
    ZendX_JQuery
    Introduction
    ZendX_JQuery View Helpers
    ZendX_JQuery Form Elements and Decorators
    Zend Framework のシステム要件
    導入
    Zend Framework 移行上の注意
    Zend Framework 1.10(一部日本語)
    Zend Framework 1.9(一部日本語)
    Zend Framework 1.8(日本語)
    Zend Framework 1.7(日本語)
    Zend Framework 1.6(日本語)
    Zend Framework 1.5(日本語)
    Zend Framework 1.0(日本語)
    Zend Framework 0.9(日本語)
    Zend Framework 0.8(日本語)
    Zend Framework 0.6(日本語)
    Zend Framework PHP 標準コーディング規約
    概要
    PHP ファイルの書式
    命名規約
    コーディングスタイル
    Zend Framework ドキュメント標準(一部日本語)
    概要
    ドキュメントファイル形式
    推奨事項
    Zend Framework MVC アプリケーションのために推奨されるプロジェクト構造
    概要
    推奨されるプロジェクト・ディレクトリ構造
    モジュール構造
    リライト設定ガイド
    Zend Framework パフォーマンスガイド
    導入
    クラスの読み込み
    Zend_Dbパフォーマンス
    国際化(i18n)とローカライズ(l10n)
    ビューのレンダリング
    著作権に関する情報