<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect1 id="migration.08">
    <title>Zend Framework 0.8(日本語)</title>

    <para>
        以前のバージョンから Zend Framework 0.8 またはそれ以降に更新する際は、
        下記の移行上の注意点に注意すべきです。
    </para>

    <sect2 id="migration.08.zend.controller">
        <title>Zend_Controller</title>

        <para>
            前回変更された、もっとも基本的な <acronym>MVC</acronym> コンポーネントの使用法は、そのまま同じです。
        </para>

        <programlisting language="php"><![CDATA[
Zend_Controller_Front::run('/path/to/controllers');
]]></programlisting>

        <para>
            しかし、ディレクトリ構造を見直し、いくつかのコンポーネントが削除されました。
            また、名前が変更されたり新たに追加されたものもあります。以下にそれらをまとめます。
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <classname>Zend_Controller_Router</classname> は削除されました。
                    かわりに rewrite ルータを使用してください。
                </para>
            </listitem>

            <listitem>
                <para>
                    <classname>Zend_Controller_RewriteRouter</classname> は
                    <classname>Zend_Controller_Router_Rewrite</classname> という名前に変わり、
                    このフレームワークの標準ルータに格上げされました。
                    <classname>Zend_Controller_Front</classname> は、
                    特に別のルータを指定しない限りこのルータをデフォルトで使用します。
                </para>
            </listitem>

            <listitem>
                <para>
                    rewrite ルータで使用する、新しいルートクラスが追加されました。名前は
                    <classname>Zend_Controller_Router_Route_Module</classname> です。
                    これは <acronym>MVC</acronym> で使用するデフォルトのルートのほかに、<link
                        linkend="zend.controller.modular">コントローラモジュール
                        </link> をサポートしています。
                </para>
            </listitem>

            <listitem>
                <para>
                    <classname>Zend_Controller_Router_StaticRoute</classname> は
                    <classname>Zend_Controller_Router_Route_Static</classname> という名前に変わりました。
                </para>
            </listitem>

            <listitem>
                <para>
                    <classname>Zend_Controller_Dispatcher</classname> は
                    <classname>Zend_Controller_Dispatcher_Standard</classname> という名前に変わりました。
                </para>
            </listitem>

            <listitem>
                <para>
                    <methodname>Zend_Controller_Action::_forward()</methodname> の引数が変わりました。
                    新しいシグネチャは次のとおりです。
                </para>

                <programlisting language="php"><![CDATA[
final protected function _forward($action,
                                  $controller = null,
                                  $module = null,
                                  array $params = null);
]]></programlisting>

                <para>
                    <varname>$action</varname> は常に必須です。
                    コントローラを指定しなかった場合は、
                    現在のコントローラ内のアクションであるとみなされます。
                    <varname>$controller</varname> を指定しなかった場合は、
                    <varname>$module</varname> は常に無視されます。
                    最後に、<varname>$params</varname> で指定した任意の値が
                    リクエストオブジェクトに追加されます。
                    コントローラやモジュールは不要だがパラメータは渡したいという場合は、
                    コントローラやモジュールに <constant>NULL</constant> を指定します。
                </para>
            </listitem>
        </itemizedlist>
    </sect2>
</sect1>
<!--
vim:se ts=4 sw=4 et:
-->
