1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 20827 -->
4 <sect2 id="zend.navigation.pages.factory">
5 <title>ページ・ファクトリを使ってページを作成</title>
8 すべてのページ(また、カスタマイズしたクラス)を、
9 ページ・ファクトリ <methodname>Zend_Navigation_Page::factory()</methodname> を用いて
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>)
18 <acronym>URI</acronym>ページが作成されます。
19 <acronym>MVC</acronym>オプションのいずれかが与えられると、
20 <acronym>MVC</acronym>ページが作成されます。
24 <code>type</code>が与えられると、
25 ファクトリは、その値が作成されるべきであるクラスの名前であると仮定します。
28 <code>mvc</code> or <code>uri</code> and <acronym>MVC</acronym>/URI page will be created.
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',
40 $page = Zend_Navigation_Page::factory(array(
41 'label' => 'Search blog',
43 'controller' => 'search',
47 $page = Zend_Navigation_Page::factory(array(
50 'controller' => 'index',
55 $page = Zend_Navigation_Page::factory(array(
57 'label' => 'My MVC page'
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/'
71 $page = Zend_Navigation_Page::factory(array(
73 'uri' => 'http://www.example.com/search',
77 $page = Zend_Navigation_Page::factory(array(
78 'label' => 'My URI page',
82 $page = Zend_Navigation_Page::factory(array(
84 'label' => 'My URI page'
89 <example id="zend.navigation.pages.factory.example.custom">
90 <title>ページ・ファクトリを使ってカスタムページ型を作成</title>
93 ページ・ファクトリを使ってカスタムページ型を作成するには、
94 インスタンス化するクラス名を指定するために、
95 <code>type</code>オプションを使ってください。
98 <programlisting language="php"><![CDATA[
99 class My_Navigation_Page extends Zend_Navigation_Page
101 protected $_fooBar = 'ok';
103 public function setFooBar($fooBar)
105 $this->_fooBar = $fooBar;
109 $page = Zend_Navigation_Page::factory(array(
110 'type' => 'My_Navigation_Page',
111 'label' => 'My custom page',
112 'foo_bar' => 'foo bar'