[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Navigation-Pages-Factory.xml
blob9e873394605cf044257a7b6e5b6a2224fa958992
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20827 -->
4 <sect2 id="zend.navigation.pages.factory">
5     <title>ページ・ファクトリを使ってページを作成</title>
7     <para>
8         すべてのページ(また、カスタマイズしたクラス)を、
9         ページ・ファクトリ <methodname>Zend_Navigation_Page::factory()</methodname> を用いて
10         作成できます。
11         ファクトリは任意の配列、
12         または<classname>Zend_Config</classname>オブジェクトをとることができます。
13         <link linkend="zend.navigation.pages">ページ</link>の節でご覧いただけるように、
14         配列または構成の各々のキーはページ・オプションと一致します。
15         <code>uri</code>が与えられ、<acronym>MVC</acronym>オプション
16         (<code>action, controller, module, route</code>)
17         が与えられないなら、
18         <acronym>URI</acronym>ページが作成されます。
19         <acronym>MVC</acronym>オプションのいずれかが与えられると、
20         <acronym>MVC</acronym>ページが作成されます。
21     </para>
23     <para>
24         <code>type</code>が与えられると、
25         ファクトリは、その値が作成されるべきであるクラスの名前であると仮定します。
26         <!-- TODO -->
27         If the value is
28         <code>mvc</code> or <code>uri</code> and <acronym>MVC</acronym>/URI page will be created.
29     </para>
31     <example id="zend.navigation.pages.factory.example.mvc">
32         <title>ページ・ファクトリを使ってMVCページを作成</title>
34         <programlisting language="php"><![CDATA[
35 $page = Zend_Navigation_Page::factory(array(
36     'label'  => 'My MVC page',
37     'action' => 'index'
38 ));
40 $page = Zend_Navigation_Page::factory(array(
41     'label'      => 'Search blog',
42     'action'     => 'index',
43     'controller' => 'search',
44     'module'     => 'blog'
45 ));
47 $page = Zend_Navigation_Page::factory(array(
48     'label'      => 'Home',
49     'action'     => 'index',
50     'controller' => 'index',
51     'module'     => 'index',
52     'route'      => 'home'
53 ));
55 $page = Zend_Navigation_Page::factory(array(
56     'type'   => 'mvc',
57     'label'  => 'My MVC page'
58 ));
59 ]]></programlisting>
60     </example>
62     <example id="zend.navigation.pages.factory.example.uri">
63         <title>ページ・ファクトリを使ってURIページを作成</title>
65         <programlisting language="php"><![CDATA[
66 $page = Zend_Navigation_Page::factory(array(
67     'label' => 'My URI page',
68     'uri'   => 'http://www.example.com/'
69 ));
71 $page = Zend_Navigation_Page::factory(array(
72     'label'  => 'Search',
73     'uri'    => 'http://www.example.com/search',
74     'active' => true
75 ));
77 $page = Zend_Navigation_Page::factory(array(
78     'label' => 'My URI page',
79     'uri'   => '#'
80 ));
82 $page = Zend_Navigation_Page::factory(array(
83     'type'   => 'uri',
84     'label'  => 'My URI page'
85 ));
86 ]]></programlisting>
87     </example>
89     <example id="zend.navigation.pages.factory.example.custom">
90         <title>ページ・ファクトリを使ってカスタムページ型を作成</title>
92      <para>
93          ページ・ファクトリを使ってカスタムページ型を作成するには、
94          インスタンス化するクラス名を指定するために、
95          <code>type</code>オプションを使ってください。
96      </para>
98         <programlisting language="php"><![CDATA[
99 class My_Navigation_Page extends Zend_Navigation_Page
101     protected $_fooBar = 'ok';
103     public function setFooBar($fooBar)
104     {
105         $this->_fooBar = $fooBar;
106     }
109 $page = Zend_Navigation_Page::factory(array(
110     'type'    => 'My_Navigation_Page',
111     'label'   => 'My custom page',
112     'foo_bar' => 'foo bar'
114 ]]></programlisting>
115     </example>
116 </sect2>