瀏覽代碼

[DOCUMENTATION] Japanese:new Zend_Application_QuickStart

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@16728 44c647ce-9c0f-0410-b52a-842ac1e357ba
yoshida@zend.co.jp 16 年之前
父節點
當前提交
9b896068a1
共有 1 個文件被更改,包括 413 次插入0 次删除
  1. 413 0
      documentation/manual/ja/module_specs/Zend_Application-QuickStart.xml

+ 413 - 0
documentation/manual/ja/module_specs/Zend_Application-QuickStart.xml

@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<!-- EN-Revision: 16727 -->
+<sect1 id="zend.application.quick-start">
+    <title>Zend_Application クイックスタート</title>
+
+    <para>
+        <classname>Zend_Application</classname>で始める方法は2つあります、
+        そして、それらはプロジェクトを始める方法によって決まります。
+        いずれにせよ、どの場合も、<classname>Bootstrap</classname>クラスと関連する
+        構成ファイルを作成することから始めます。
+    </para>
+
+    <para>
+        プロジェクトを作成するために<classname>Zend_Tool</classname>を使う予定なら、
+        引き続き、下記をご覧下さい。
+        <classname>Zend_Application</classname>を既存のプロジェクトに追加するなら、
+        <link linkend="zend.application.quick-start.manual">読み飛ばして先に進み</link>たいことでしょう。
+    </para>
+
+    <sect2 id="zend.application.quick-start.zend-tool">
+        <title>Zend_Toolの利用</title>
+
+        <para>
+            <classname>Zend_Application</classname>を使い始めるために最も早い方法は、
+            プロジェクトを生成するために<classname>Zend_Tool</classname>を使うことです。
+            これにより、<classname>Bootstrap</classname>クラスやファイルも生成されます。
+        </para>
+
+        <para>
+            プロジェクトを作成するために、(*nix システムで)<command>zf</command>コマンドを実行してください:
+        </para>
+
+        <programlisting language="sh"><![CDATA[
+% zf create project newproject
+]]></programlisting>
+
+        <para>
+            またはWindowsの<filename>zf.bat</filename>コマンド:
+        </para>
+
+        <programlisting language="dos"><![CDATA[
+C:> zf.bat create project newproject
+]]></programlisting>
+
+        <para>
+            共に、下記のようなプロジェクト構造を作成します:
+        </para>
+
+        <programlisting language="text"><![CDATA[
+newproject
+|-- application
+|   |-- Bootstrap.php
+|   |-- configs
+|   |   `-- application.ini
+|   |-- controllers
+|   |   |-- ErrorController.php
+|   |   `-- IndexController.php
+|   |-- models
+|   `-- views
+|       |-- helpers
+|       `-- scripts
+|           |-- error
+|           |   `-- error.phtml
+|           `-- index
+|               `-- index.phtml
+|-- library
+|-- public
+|   `-- index.php
+`-- tests
+    |-- application
+    |   `-- bootstrap.php
+    |-- library
+    |   `-- bootstrap.php
+    `-- phpunit.xml
+]]></programlisting>
+
+        <para>
+            上記の図の中で、ブートストラップは<filename>newproject/application/Bootstrap.php</filename>にあり、
+            最初は以下のように見えます:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
+{
+}
+]]></programlisting>
+
+        <para>
+            構成ファイル、<filename>newproject/application/configs/application.ini</filename>にも気付くでしょう。
+            それは下記のような内容です:
+        </para>
+
+        <programlisting language="dosini"><![CDATA[
+[production]
+phpSettings.display_startup_errors = 0
+phpSettings.display_errors = 0
+includePaths.library = APPLICATION_PATH "/../library"
+bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
+bootstrap.class = "Bootstrap"
+resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
+
+[staging : production]
+
+[testing : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+
+[development : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+]]></programlisting>
+
+        <para>
+            この構成ファイルの設定は全て、
+            <classname>Zend_Application</classname>及びブートストラップで利用するためのものです。
+        </para>
+
+        <para>
+            他に興味を惹くファイルは
+            <filename>newproject/public/index.php</filename>で、
+            それは<classname>Zend_Application</classname>を呼び出してディスパッチします。
+        </para>
+
+        <programlisting language="php"><![CDATA[
+// アプリケーション・ディレクトリへのパスを定義します
+defined('APPLICATION_PATH')
+    || define('APPLICATION_PATH',
+              realpath(dirname(__FILE__) . '/../application'));
+
+// アプリケーション環境を定義します
+defined('APPLICATION_ENV')
+    || define('APPLICATION_ENV',
+              (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')
+                                         : 'production'));
+
+/** Zend_Application */
+require_once 'Zend/Application.php';
+
+// アプリケーション及びブートストラップを作成して、実行します
+$application = new Zend_Application(
+    APPLICATION_ENV,
+    APPLICATION_PATH . '/configs/application.ini'
+);
+$application->bootstrap()
+            ->run();
+]]></programlisting>
+
+        <para>
+            クイックスタートを続けるには、
+            <link
+            linkend="zend.application.quick-start.resources">リソース節まで読み飛ばし</link>てください。
+        </para>
+    </sect2>
+
+    <sect2 id="zend.application.quick-start.manual">
+        <title>アプリケーションにZend_Applicationを追加する</title>
+
+        <para>
+            <classname>Zend_Application</classname>の基本は本当に単純です:
+        </para>
+
+        <itemizedlist>
+            <listitem><para>
+                <classname>Bootstrap</classname>クラスを持つ
+                <filename>application/Bootstrap.php</filename>ファイルを作成します。
+            </para></listitem>
+
+            <listitem><para>
+                <classname>Zend_Application</classname>に必要な基本的な設定を持つ構成ファイル、
+                <filename>application/configs/application.ini</filename>を作成します。
+            </para></listitem>
+
+            <listitem><para>
+                <classname>Zend_Application</classname>を利用するために、
+                <filename>public/index.php</filename>を変更します。
+            </para></listitem>
+        </itemizedlist>
+
+        <para>
+            初めに、<classname>Bootstrap</classname>クラスを作成します。
+            <filename>application/Bootstrap.php</filename>ファイルを下記の内容で作成します。
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
+{
+}
+]]></programlisting>
+
+        <para>
+            次に、構成を作成します。
+            このチュートリアルでは<acronym>INI</acronym>形式の構成を使います;
+            もちろん、<acronym>XML</acronym>や<acronym>PHP</acronym>構成ファイルも同様に利用できます。
+            <filename>application/configs/application.ini</filename>ファイルを作成して、
+            下記の内容にしてください:
+        </para>
+
+        <programlisting language="dosini"><![CDATA[
+[production]
+phpSettings.display_startup_errors = 0
+phpSettings.display_errors = 0
+includePaths.library = APPLICATION_PATH "/../library"
+bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
+bootstrap.class = "Bootstrap"
+resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
+
+[staging : production]
+
+[testing : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+
+[development : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+]]></programlisting>
+
+        <para>
+            次に入り口となるスクリプト、<filename>public/index.php</filename>を変更しましょう。
+            もしファイルが存在しなければ、作成してください;
+            さもなければ、下記の内容でファイルを置き換えてください:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+// アプリケーション・ディレクトリへのパスを定義します
+defined('APPLICATION_PATH')
+    || define('APPLICATION_PATH',
+              realpath(dirname(__FILE__) . '/../application'));
+
+// アプリケーション環境を定義します
+defined('APPLICATION_ENV')
+    || define('APPLICATION_ENV',
+              (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')
+                                         : 'production'));
+
+// 一般的に、library/ ディレクトリーをinclude_pathに追加したいでしょう
+// 特にそれがインストールしたZFを含むならば
+set_include_path(implode(PATH_SEPARATOR, array(
+    dirname(dirname(__FILE__)) . '/library',
+    get_include_path(),
+)));
+
+/** Zend_Application */
+require_once 'Zend/Application.php';
+
+// アプリケーション及びブートストラップを作成して、実行します
+$application = new Zend_Application(
+    APPLICATION_ENV,
+    APPLICATION_PATH . '/configs/application.ini'
+);
+$application->bootstrap()
+            ->run();
+]]></programlisting>
+
+        <para>
+            アプリケーション環境定数が環境変数 "APPLICATION_ENV" を探すことに気づくかもしれません。
+            我々は、これをウェブサーバ環境で設定することを勧めます。
+            Apacheでは、vhost定義、または、<filename>.htaccess</filename>ファイルのいずれかで設定できます。
+            我々は、<filename>public/.htaccess</filename>ファイルとして以下の内容を推奨します:
+        </para>
+
+        <programlisting language="conf"><![CDATA[
+SetEnv APPLICATION_ENV development
+
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} -s [OR]
+RewriteCond %{REQUEST_FILENAME} -l [OR]
+RewriteCond %{REQUEST_FILENAME} -d
+RewriteRule ^.*$ - [NC,L]
+RewriteRule ^.*$ index.php [NC,L]
+]]></programlisting>
+
+        <note>
+            <title>mod_rewriteについて学ぶ</title>
+
+            <para>
+                上記の書き換えルールでは、バーチャル・ホスト・ドキュメント・ルートの配下の
+                どのファイルでもアクセスが許可されます。
+                このように公開されたくないファイルがあるならば、より限定的なルールにしたいかもしれません。
+                <ulink
+                    url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewriteについてより学ぶ</ulink>
+                ためにはApache ウェブサイトを訪れてください。
+            </para>
+        </note>
+
+        <para>
+            ここまでで、
+            <classname>Zend_Application</classname>をすっかり利用し始められるようになっています。
+        </para>
+    </sect2>
+
+    <sect2 id="zend.application.quick-start.resources">
+        <title>リソースの追加と作成</title>
+
+        <para>
+            上記の手引きに従うと、ブートストラップ・クラスはフロントコントローラを利用します。
+            そして、それが動くとき、フロントコントローラをディスパッチします。
+            しかし、おそらく、これより少し多くの構成を必要とするでしょう。
+        </para>
+
+        <para>
+            この節では、アプリケーションにリソースを2つ追加することに目を向けましょう。
+            最初に、レイアウトを準備して、ビュー・オブジェクトをカスタマイズします。
+        </para>
+
+        <para>
+            <classname>Zend_Application</classname>で提供される標準的なリソースのうちの1つは、
+            「レイアウト」リソースです。
+            このリソースでは、<classname>Zend_Layout</classname>インスタンスを構成するために使う構成値を
+            あなたが定義することをあてにしています。
+        </para>
+
+        <para>
+            これを使うためにすべきことは、構成ファイルを更新することです。
+        </para>
+
+        <programlisting language="dosini"><![CDATA[
+[production]
+phpSettings.display_startup_errors = 0
+phpSettings.display_errors = 0
+bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
+bootstrap.class = "Bootstrap"
+resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
+; ADD THE FOLLOWING LINES
+resources.layout.layout = "layout"
+resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
+
+[staging : production]
+
+[testing : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+
+[development : production]
+phpSettings.display_startup_errors = 1
+phpSettings.display_errors = 1
+]]></programlisting>
+
+        <para>
+            もしまだ無ければ、
+            <filename>application/layouts/scripts/</filename>ディレクトリ、
+            及びそのディレクトリ内に<filename>layout.phtml</filename>ファイルを作成してください。
+            以下の通りで、レイアウトを良く始められます。
+            (そして、それは次に含まれるビュー・リソースと結びつきます):
+        </para>
+
+        <programlisting language="php"><![CDATA[
+<?php echo $this->doctype() ?>
+<html>
+<head>
+    <?php echo $this->headTitle() ?>
+    <?php echo $this->headLink() ?>
+    <?php echo $this->headStyle() ?>
+    <?php echo $this->headScript() ?>
+</head>
+<body>
+    <?php echo $this->layout()->content ?>
+</body>
+</html>
+]]></programlisting>
+
+        <para>
+            ここまでで、レイアウトを役立てられるようになっています。
+        </para>
+
+        <para>
+            次に、カスタム・ビューリソースを追加します。
+            ビューを初期化する際に、
+            <acronym>HTML</acronym> DocType及び
+            <acronym>HTML</acronym>の head で使用するタイトルのデフォルト値を設定を希望します。
+            これは、メソッドを追加する<classname>Bootstrap</classname>クラスを編集することにより成就できます:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
+{
+    protected function _initView()
+    {
+        // ビューを初期化します
+        $view = new Zend_View();
+        $view->doctype('XHTML1_STRICT');
+        $view->headTitle('My First Zend Framework Application');
+
+        // それを ViewRenderer に追加します
+        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
+            'ViewRenderer'
+        );
+        $viewRenderer->setView($view);
+
+        // ブートストラップで保存できるように返します
+        return $view;
+    }
+}
+]]></programlisting>
+
+        <para>
+            このメソッドはアプリケーションを起動する際に自動的に実行されて、
+            アプリケーションの必要性に従ってビューが初期化されることを確実にします。
+        </para>
+    </sect2>
+
+    <sect2 id="zend.application.quick-start.next-steps">
+        <title>Zend_Applicationを使った次のステップ</title>
+
+        <para>
+            上記は、<classname>Zend_Application</classname>で始めるようにさせるべきです。
+            そして、アプリケーション・ブートストラップを作成しだすべきです。
+            ここから、リソース・メソッドや、再利用性を最大にするために、リソース・プラグイン・クラスを作成し始めるべきです。
+            より学ぶために、引き続きご覧下さい!
+        </para>
+    </sect2>
+</sect1>