|
@@ -1,56 +1,60 @@
|
|
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
+<!-- EN-Revision: 21614 -->
|
|
|
|
|
+<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.form.quickstart">
|
|
<sect1 id="zend.form.quickstart">
|
|
|
<title>Szybki start z Zend_Form</title>
|
|
<title>Szybki start z Zend_Form</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Ten przewodnik opisuje podstawy tworzenia, weryfikacji oraz
|
|
Ten przewodnik opisuje podstawy tworzenia, weryfikacji oraz
|
|
|
- renderowania formularzy za pomocą komponentu <code>Zend_Form</code>.
|
|
|
|
|
|
|
+ renderowania formularzy za pomocą komponentu <classname>Zend_Form</classname>.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<sect2 id="zend.form.quickstart.create">
|
|
<sect2 id="zend.form.quickstart.create">
|
|
|
<title>Tworzenie obiektu formularza</title>
|
|
<title>Tworzenie obiektu formularza</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Tworzenie obiektu formularza jest bardzo proste: po prostu utwórz
|
|
|
|
|
- egzemplarz klasy <code>Zend_Form</code>:
|
|
|
|
|
|
|
+ Tworzenie obiektu formularza jest bardzo proste: należy, po prostu, utworzyć
|
|
|
|
|
+ egzemplarz klasy <classname>Zend_Form</classname>:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form = new Zend_Form;
|
|
$form = new Zend_Form;
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- W zaawansowanych przypadkach możesz rozszerzyć klasę
|
|
|
|
|
- <code>Zend_Form</code>, ale dla prostych formularzy możesz utworzyć
|
|
|
|
|
- i skonfigurować formularz za pomocą obiektu <code>Zend_Form</code>.
|
|
|
|
|
|
|
+ W zaawansowanych przypadkach można rozszerzyć klasę
|
|
|
|
|
+ <classname>Zend_Form</classname>, ale dla prostych formularzy wystarczy utworzenie
|
|
|
|
|
+ i skonfigurowanie formularza za pomocą obiektu <classname>Zend_Form</classname>.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Jeśli chcesz określić akcję oraz metodę wywołania formularza, możesz
|
|
|
|
|
- to zrobić za pomocą metod dostępowych <code>setAction()</code> oraz
|
|
|
|
|
- <code>setMethod()</code>:
|
|
|
|
|
|
|
+ Dla określenia akcji oraz metody wywołania formularza, można
|
|
|
|
|
+ użyć metod dostępowych <methodname>setAction()</methodname> oraz
|
|
|
|
|
+ <methodname>setMethod()</methodname>:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form->setAction('/resource/process')
|
|
$form->setAction('/resource/process')
|
|
|
->setMethod('post');
|
|
->setMethod('post');
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Powyższy kod ustawia akcję formularza na adres URL
|
|
|
|
|
- "/resource/process" oraz metodę wykonania formularza na HTTP POST.
|
|
|
|
|
|
|
+ Powyższy kod ustawia akcję formularza na adres <acronym>URL</acronym>
|
|
|
|
|
+ "<filename>/resource/process</filename>" oraz metodę wykonania formularza na
|
|
|
|
|
+ <acronym>HTTP</acronym> <acronym>POST</acronym>.
|
|
|
Będzie to wzięte pod uwagę podczas renderowania formularza.
|
|
Będzie to wzięte pod uwagę podczas renderowania formularza.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Możesz ustawić dodatkowe atrybuty dla znacznika
|
|
|
|
|
- <code><form></code> używając metod setAttrib() lub
|
|
|
|
|
- setAttribs(). Przykładowo jeśli chcesz ustawić idetyfikator,
|
|
|
|
|
- utaw atrybut "id":
|
|
|
|
|
|
|
+ Można ustawić dodatkowe atrybuty dla znacznika
|
|
|
|
|
+ <emphasis><form></emphasis> używając metod <methodname>setAttrib()</methodname>
|
|
|
|
|
+ lub <methodname>setAttribs()</methodname>. Przykładowo aby ustawić identyfikator,
|
|
|
|
|
+ należy ustawić atrybut "<property>id</property>":
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form->setAttrib('id', 'login');
|
|
$form->setAttrib('id', 'login');
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
@@ -61,9 +65,9 @@ $form->setAttrib('id', 'login');
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Formularz jest bezużyteczny jeśli nie posiada elementów.
|
|
Formularz jest bezużyteczny jeśli nie posiada elementów.
|
|
|
- Komponent <code>Zend_Form</code> posiada kilkanaście domyślnych
|
|
|
|
|
- elementów które mogą być renderowane do postaci XHTML za pomocą
|
|
|
|
|
- klas pomocniczych <code>Zend_View</code>. Te elementy to:
|
|
|
|
|
|
|
+ Komponent <classname>Zend_Form</classname> posiada kilkanaście domyślnych
|
|
|
|
|
+ elementów które mogą być renderowane do postaci <acronym>XHTML</acronym> za pomocą
|
|
|
|
|
+ klas pomocniczych <classname>Zend_View</classname>. Te elementy to:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
<itemizedlist>
|
|
@@ -113,10 +117,10 @@ $form->setAttrib('id', 'login');
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Masz dwie możliwości dodania elementów do formularza: możesz utworzyć
|
|
|
|
|
- egzemplarze konkretnych elementów i przekeazać je do obiektu, lub
|
|
|
|
|
- po prostu przekazać typy elementów i pozwolić obiektowi
|
|
|
|
|
- <code>Zend_Form</code> na atomatyczne utworzenie egzemplarzy
|
|
|
|
|
|
|
+ Istnieją dwie możliwości dodania elementów do formularza: utworzenie
|
|
|
|
|
+ egzemplarza konkretnego elementu i przekazanie go do obiektu formularza lub
|
|
|
|
|
+ po prostu przekazanie typu elementu i pozwolenie obiektowi
|
|
|
|
|
+ <classname>Zend_Form</classname> na automatyczne utworzenie egzemplarzy
|
|
|
obiektów określonego typu.
|
|
obiektów określonego typu.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
@@ -124,50 +128,50 @@ $form->setAttrib('id', 'login');
|
|
|
Kilka przykładów:
|
|
Kilka przykładów:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-// Utwórz egzemplarz elementu i przekaż go do obiektu formularza:
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
|
|
+// Utworzenie egzemplarza elementu i przekazanie go do obiektu formularza:
|
|
|
$form->addElement(new Zend_Form_Element_Text('username'));
|
|
$form->addElement(new Zend_Form_Element_Text('username'));
|
|
|
|
|
|
|
|
-// Przekaż typ elementu do obiektu:
|
|
|
|
|
|
|
+// Przekazanie typu elementu do obiektu:
|
|
|
$form->addElement('text', 'username');
|
|
$form->addElement('text', 'username');
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Domyślnie elementy te nie posiadają filtrów i weryfikatorów.
|
|
|
|
|
- Oznacza to że musisz skonfigurować dla swoich elementów chociaż
|
|
|
|
|
- weryfikatory i opcjonalnie filtry. Możesz to zrobić (a) zanim
|
|
|
|
|
- przekażesz element do formularza, (b) za pomocą opcji
|
|
|
|
|
|
|
+ Domyślnie, elementy te nie posiadają filtrów ani walidatorów.
|
|
|
|
|
+ Oznacza to że należy samodzielnie skonfigurować dla nich
|
|
|
|
|
+ walidatory i opcjonalnie filtry. Można to zrobić (a) przed
|
|
|
|
|
+ przekazaniem elementu do formularza, (b) za pomocą opcji
|
|
|
konfiguracyjnych przekazanych podczas tworzenia elementu poprzez
|
|
konfiguracyjnych przekazanych podczas tworzenia elementu poprzez
|
|
|
- obiekt <code>Zend_Form</code> lub (c) pobierając istniejący element
|
|
|
|
|
- z obiektu formularza i konfigurowanie go.
|
|
|
|
|
|
|
+ obiekt <classname>Zend_Form</classname> lub (c) pobierając istniejący element
|
|
|
|
|
+ z obiektu formularza i konfigurując go.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Przyjrzyjmy się wpierw tworzeniu weryfikatorów dla konkretnego
|
|
|
|
|
- egzemplarza elementu. Możesz przekazać obiekt
|
|
|
|
|
- <code>Zend_Validate_*</code> lub nazwę weryfikatora który ma być
|
|
|
|
|
|
|
+ Najpierw należy przyjrzeć się tworzeniu walidatorów dla konkretnego
|
|
|
|
|
+ egzemplarza elementu. Można przekazać obiekt
|
|
|
|
|
+ <classname>Zend_Validate_*</classname> lub nazwę walidatora który ma zostać
|
|
|
użyty:
|
|
użyty:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$username = new Zend_Form_Element_Text('username');
|
|
$username = new Zend_Form_Element_Text('username');
|
|
|
|
|
|
|
|
-// Przekaż obiekt Zend_Validate_*:
|
|
|
|
|
|
|
+// Przekazanie obiektu Zend_Validate_*:
|
|
|
$username->addValidator(new Zend_Validate_Alnum());
|
|
$username->addValidator(new Zend_Validate_Alnum());
|
|
|
|
|
|
|
|
-// Przekaż nazwę weryfikatora:
|
|
|
|
|
|
|
+// Przekazanie nazwy walidatora:
|
|
|
$username->addValidator('alnum');
|
|
$username->addValidator('alnum');
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Jeśli używasz drugiego sposobu, a weryfikator przyjmuje argumenty
|
|
|
|
|
- konstruktora, możesz je pzekazać w tablicy jako trzeci parametr:
|
|
|
|
|
|
|
+ Dla drugiego sposobu, można przekazać w trzecim parametrze metody
|
|
|
|
|
+ tablicę z argumentami konstruktora wybranego walidatora.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-// Przekaż wzór
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
|
|
+// Przekazanie wzoru
|
|
|
$username->addValidator('regex', false, array('/^[a-z]/i'));
|
|
$username->addValidator('regex', false, array('/^[a-z]/i'));
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
@@ -175,34 +179,34 @@ $username->addValidator('regex', false, array('/^[a-z]/i'));
|
|
|
<para>
|
|
<para>
|
|
|
(Drugi parametr jest używany aby określić czy niepowodzenie w
|
|
(Drugi parametr jest używany aby określić czy niepowodzenie w
|
|
|
weryfikacji ma przerwać następne weryfikacje czy nie; domyślnie
|
|
weryfikacji ma przerwać następne weryfikacje czy nie; domyślnie
|
|
|
- ma wartość false.)
|
|
|
|
|
|
|
+ ma wartość <constant>FALSE</constant>.)
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Możesz także chcieć określić element jako wymagany. Zrobisz to
|
|
|
|
|
- używając metody dostępowej lub przekazując opcję podczas tworzenia
|
|
|
|
|
|
|
+ Można także określić element jako wymagany. Aby to osiągnąć należy
|
|
|
|
|
+ użyć metody dostępowej lub przekazać opcję podczas tworzenia
|
|
|
elementu. Oto pierwszy sposób:
|
|
elementu. Oto pierwszy sposób:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-// Ustaw element jako wymagany:
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
|
|
+// Ustawienie elementu jako wymaganego:
|
|
|
$username->setRequired(true);
|
|
$username->setRequired(true);
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Gdy element jest wymagany, weryfikator 'NotEmpty' dodawany jest na
|
|
|
|
|
- sam początek łańcucha weryfikatorów, dzięki czemu możemy być pewni
|
|
|
|
|
|
|
+ Gdy element jest wymagany, dodawany jest walidator 'NotEmpty' na
|
|
|
|
|
+ sam początek łańcucha walidatorów, dzięki czemu można być pewnym,
|
|
|
że element będzie posiadał wartość.
|
|
że element będzie posiadał wartość.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Filtry są rejestrowane w taki sam sposób jak weryfikatory. Aby
|
|
|
|
|
- pokazać jak działają, dodajmy filtr zamieniający znaki na małe
|
|
|
|
|
|
|
+ Filtry są rejestrowane w taki sam sposób jak walidatory. Aby
|
|
|
|
|
+ pokazać jak działają, można dodać filtr zamieniający znaki na małe
|
|
|
litery:
|
|
litery:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$username->addFilter('StringtoLower');
|
|
$username->addFilter('StringtoLower');
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
@@ -211,7 +215,7 @@ $username->addFilter('StringtoLower');
|
|
|
Finalnie konfiguracja elementu może wyglądać tak:
|
|
Finalnie konfiguracja elementu może wyglądać tak:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$username->addValidator('alnum')
|
|
$username->addValidator('alnum')
|
|
|
->addValidator('regex', false, array('/^[a-z]/'))
|
|
->addValidator('regex', false, array('/^[a-z]/'))
|
|
|
->setRequired(true)
|
|
->setRequired(true)
|
|
@@ -227,15 +231,15 @@ $username->addValidators(array('alnum',
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Tworzenie obiektu dla każdego z elementów formularza może być czasem
|
|
|
|
|
- nieco kłopotliwe. Spróbujmy zatem użyć sposobu (b) przedstawionego
|
|
|
|
|
- wyżej. Kiedy tworzymy nowy element używając metody
|
|
|
|
|
- <code>Zend_Form::addElement()</code> jako fabryki, możemy
|
|
|
|
|
- opcjonalnie przekazać opcje konfiguracyjne. Obejmuje to także
|
|
|
|
|
- konfigurację filtrów i weryfikatorów. Aby to zrobić użyj kodu:
|
|
|
|
|
|
|
+ Tworzenie obiektu dla każdego z elementów formularza może być
|
|
|
|
|
+ nieco kłopotliwe. Można spróbować użyć sposobu (b) przedstawionego
|
|
|
|
|
+ wyżej. Podczas tworzenia nowego elementu metodą
|
|
|
|
|
+ <methodname>Zend_Form::addElement()</methodname> jako fabryki, można
|
|
|
|
|
+ opcjonalnie przekazać również opcje konfiguracyjne. Obejmuje to także
|
|
|
|
|
+ konfigurację filtrów i walidatorów. Aby to zrobić można użyć kodu:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form->addElement('text', 'username', array(
|
|
$form->addElement('text', 'username', array(
|
|
|
'validators' => array(
|
|
'validators' => array(
|
|
|
'alnum',
|
|
'alnum',
|
|
@@ -247,12 +251,14 @@ $form->addElement('text', 'username', array(
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
- <note><para>
|
|
|
|
|
- Jeśli konfigurujesz elementy w kilku miejscach używając tych samych
|
|
|
|
|
- opcji, możesz rozważyć stworzenie własnej klasy rozszerzającej
|
|
|
|
|
- klasę <code>Zend_Form_Element</code> i następnie użyć tej klasy do
|
|
|
|
|
- tworzenia własnych elementów; może to oszczędzić nieco pracy.
|
|
|
|
|
- </para></note>
|
|
|
|
|
|
|
+ <note>
|
|
|
|
|
+ <para>
|
|
|
|
|
+ Jeśli w kilku miejscach konfigurowane są elementy za pomocą tych samych
|
|
|
|
|
+ opcji, można rozważyć stworzenie własnej klasy rozszerzającej
|
|
|
|
|
+ klasę <classname>Zend_Form_Element</classname> i następnie użycie tej klasy do
|
|
|
|
|
+ tworzenia własnych elementów. Może to oszczędzić nieco pracy.
|
|
|
|
|
+ </para>
|
|
|
|
|
+ </note>
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="zend.form.quickstart.render">
|
|
<sect2 id="zend.form.quickstart.render">
|
|
@@ -260,14 +266,14 @@ $form->addElement('text', 'username', array(
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Renderowanie formularza jest proste. Większość elementów używa do
|
|
Renderowanie formularza jest proste. Większość elementów używa do
|
|
|
- tego klas pomocniczych <code>Zend_View</code>, więc potrzebny będzie
|
|
|
|
|
- do tego także obiekt widoku. Masz dwie możliwości: użycie metody
|
|
|
|
|
|
|
+ tego klas pomocniczych <classname>Zend_View</classname>, więc potrzebny będzie
|
|
|
|
|
+ do tego także obiekt widoku. Istnieją dwie możliwości: użycie metody
|
|
|
formularza render() lub po prostu wyświetlenie formularza za pomocą
|
|
formularza render() lub po prostu wyświetlenie formularza za pomocą
|
|
|
konstrukcji echo.
|
|
konstrukcji echo.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-// Jawnie wywołaj metodę render() i przekaż pcjonalny obiekt widoku:
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
|
|
+// Jawnie wywołanie metody render() i przekazanie opcjonalnego obiektu widoku:
|
|
|
echo $form->render($view);
|
|
echo $form->render($view);
|
|
|
|
|
|
|
|
// Zakładając że obiekt widoku został wcześniej ustawiony za pomocą setView():
|
|
// Zakładając że obiekt widoku został wcześniej ustawiony za pomocą setView():
|
|
@@ -276,29 +282,29 @@ echo $form;
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Domyślnie obiekty <code>Zend_Form</code> oraz
|
|
|
|
|
- <code>Zend_Form_Element</code> użyją obiektu widoku zainicjowanego
|
|
|
|
|
- w obiekcie <code>ViewRenderer</code>, co oznacza, że nie musisz go
|
|
|
|
|
- ręcznie ustawiać gdy używasz wzorca MVC Zend Framework. Renderowanie
|
|
|
|
|
|
|
+ Domyślnie obiekty <classname>Zend_Form</classname> oraz
|
|
|
|
|
+ <classname>Zend_Form_Element</classname> używają obiektu widoku zainicjowanego
|
|
|
|
|
+ w obiekcie <classname>ViewRenderer</classname>, co oznacza, że nie trzeba go
|
|
|
|
|
+ ręcznie ustawiać dla wzorca MVC Zend Framework. Renderowanie
|
|
|
formularza w skrypcie widoku jest wtedy bardzo proste:
|
|
formularza w skrypcie widoku jest wtedy bardzo proste:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-<?= $this->form ?>
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
|
|
+<? echo $this->form ?>
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- <code>Zend_Form</code> używa "dekoratorów" do przeprowadzania
|
|
|
|
|
|
|
+ <classname>Zend_Form</classname> używa "dekoratorów" do przeprowadzania
|
|
|
renderowania. Te dekoratory mogą zastępować zawartość, dodawać
|
|
renderowania. Te dekoratory mogą zastępować zawartość, dodawać
|
|
|
- zawartość na początku lub na końcu, a także mieć pełny wgląd w
|
|
|
|
|
- element przekazany do nich. Możesz użyć kilku dekoratorów aby
|
|
|
|
|
- uzyskać wymagany efekt. Domyślnie <code>Zend_Form_Element</code>
|
|
|
|
|
- używa czterech dekoratorów aby wygenerować kod wyjściowy; wygląda
|
|
|
|
|
|
|
+ treść na początku lub na końcu, a także mieć pełny wgląd w
|
|
|
|
|
+ element przekazany do nich. Można użyć kilku dekoratorów aby
|
|
|
|
|
+ uzyskać wymagany efekt. Domyślnie <classname>Zend_Form_Element</classname>
|
|
|
|
|
+ używa czterech dekoratorów aby wygenerować kod wyjściowy. Wygląda
|
|
|
to w taki sposób:
|
|
to w taki sposób:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$element->addDecorators(array(
|
|
$element->addDecorators(array(
|
|
|
'ViewHelper',
|
|
'ViewHelper',
|
|
|
'Errors',
|
|
'Errors',
|
|
@@ -317,7 +323,7 @@ $element->addDecorators(array(
|
|
|
Układ dekoratorów przedstawiony powyżej generuje następujący kod:
|
|
Układ dekoratorów przedstawiony powyżej generuje następujący kod:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="html"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="html"><![CDATA[
|
|
|
<dt><label for="username" class="required">Username</dt>
|
|
<dt><label for="username" class="required">Username</dt>
|
|
|
<dd>
|
|
<dd>
|
|
|
<input type="text" name="username" value="123-abc" />
|
|
<input type="text" name="username" value="123-abc" />
|
|
@@ -326,84 +332,80 @@ $element->addDecorators(array(
|
|
|
<li>'123-abc' does not match against pattern '/^[a-z]/i'</li>
|
|
<li>'123-abc' does not match against pattern '/^[a-z]/i'</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
</dd>
|
|
</dd>
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
(Jednak kod jest inaczej sformatowany.)
|
|
(Jednak kod jest inaczej sformatowany.)
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Możesz zmienić dekoratory używane przez element jeśli chcesz mieć
|
|
|
|
|
- inny wyjściowy kod XHTML; zobacz rozdział poświęcony dekoratorom
|
|
|
|
|
|
|
+ Można zmienić dekoratory używane przez element jeśli pożądany jest
|
|
|
|
|
+ inny kod wyjściowy. Należy zapoznać się z rozdziałem poświęconym dekoratorom
|
|
|
aby uzyskać więcej informacji.
|
|
aby uzyskać więcej informacji.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Formularz przechodzi poprzez wszystkie elementy i zawiera je
|
|
|
|
|
- wewnątrz znacznika HTML <code><form></code>. Akcja i metoda
|
|
|
|
|
- wysyłania formuarza które podałeś podczas jego konfigurowania
|
|
|
|
|
- zostaną dołączone do znacznika<code><form></code>, tak samo jak
|
|
|
|
|
- inne atrybuty ustawione za pomocą metody <code>setAttribs()</code>.
|
|
|
|
|
|
|
+ Formularz przechodzi poprzez wszystkie elementy i umieszcza je
|
|
|
|
|
+ wewnątrz znacznika <acronym>HTML</acronym> <emphasis><form></emphasis>.
|
|
|
|
|
+ Akcja i metoda wysyłania formularza podane podczas jego konfigurowania
|
|
|
|
|
+ zostaną dołączone do znacznika<emphasis><form></emphasis>, tak samo jak
|
|
|
|
|
+ inne atrybuty ustawione za pomocą metody <methodname>setAttribs()</methodname>.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Formularz przechodzi przez elementy w takiej kolejności w jakiej
|
|
Formularz przechodzi przez elementy w takiej kolejności w jakiej
|
|
|
- były one zarejestrowane lub jeśli twój element zawiera odpowiedni
|
|
|
|
|
- atrybut, zostanie on użyty w celu ustalenia kolejności. Możesz
|
|
|
|
|
|
|
+ były one zarejestrowane lub jeśli określony element zawiera odpowiedni
|
|
|
|
|
+ atrybut, zostanie on użyty w celu ustalenia kolejności. Można
|
|
|
ustawiać kolejność elementów używając metody:
|
|
ustawiać kolejność elementów używając metody:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$element->setOrder(10);
|
|
$element->setOrder(10);
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Lub przekazując kolejność jako opcję podczas tworzenia elementu:
|
|
|
|
|
|
|
+ Innym sposobem jest przekazanie kolejności jako opcji podczas tworzenia elementu:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form->addElement('text', 'username', array('order' => 10));
|
|
$form->addElement('text', 'username', array('order' => 10));
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="zend.form.quickstart.validate">
|
|
<sect2 id="zend.form.quickstart.validate">
|
|
|
<title>Sprawdzanie poprawności formularza</title>
|
|
<title>Sprawdzanie poprawności formularza</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Po tym jak formularz zostanie wysłany, musisz sprawdzić czy pomyślnie
|
|
|
|
|
- przeszedł weryfikację. Każdy element jest sprawdzany w oparciu o
|
|
|
|
|
- podane dane; jeśli nie ma klucza odpowiadającego nazwie elementu, a
|
|
|
|
|
|
|
+ Po tym jak formularz zostanie wysłany, należy sprawdzić czy pomyślnie
|
|
|
|
|
+ przeszedł walidację. Każdy element jest sprawdzany w oparciu o
|
|
|
|
|
+ podane dane. Jeśli nie ma klucza odpowiadającego nazwie elementu, a
|
|
|
element jest oznaczony jako wymagany, weryfikacja zostanie
|
|
element jest oznaczony jako wymagany, weryfikacja zostanie
|
|
|
- przeprowadzona w oparciu o pustą wartość (null).
|
|
|
|
|
|
|
+ przeprowadzona w oparciu o pustą wartość <constant>NULL</constant>.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Skąd pochodzą dane? Możesz użyć tablic <code>$_POST</code>,
|
|
|
|
|
- <code>$_GET</code> lub dowolnych innych źródeł danych
|
|
|
|
|
- (np. żądań do serwisów web):
|
|
|
|
|
|
|
+ Skąd pochodzą dane? Możesz użyć tablic <varname>$_POST</varname>,
|
|
|
|
|
+ <varname>$_GET</varname> lub dowolnych innych źródeł danych
|
|
|
|
|
+ (np. żądań do web serwisów):
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
if ($form->isValid($_POST)) {
|
|
if ($form->isValid($_POST)) {
|
|
|
// dane są poprawne
|
|
// dane są poprawne
|
|
|
} else {
|
|
} else {
|
|
|
// dane nie są poprawne
|
|
// dane nie są poprawne
|
|
|
}
|
|
}
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Jeśli używasz żądań AJAX, możesz potrzebować przeprowadzić
|
|
|
|
|
- weryfikację pojedynczego elementu lub grupy elementów.
|
|
|
|
|
- Metoda <code>isValidPartial()</code> częściowo weryfikuje formularz.
|
|
|
|
|
- W przeciwieństwie do metody <code>isValid()</code>, nie przeprowadza
|
|
|
|
|
|
|
+ Przy korzystaniu z żądań AJAX, może zajść potrzeba przeprowadzenia
|
|
|
|
|
+ weryfikacji pojedynczego elementu lub grupy elementów.
|
|
|
|
|
+ Metoda <methodname>isValidPartial()</methodname> częściowo sprawdza formularz.
|
|
|
|
|
+ W przeciwieństwie do metody <methodname>isValid()</methodname>, nie przeprowadza
|
|
|
ona weryfikacji pól dla elementów których wartości nie zostały podane:
|
|
ona weryfikacji pól dla elementów których wartości nie zostały podane:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
if ($form->isValidPartial($_POST)) {
|
|
if ($form->isValidPartial($_POST)) {
|
|
|
// dane we wszystkich elementach pomyślnie przyszły weryfikację
|
|
// dane we wszystkich elementach pomyślnie przyszły weryfikację
|
|
|
} else {
|
|
} else {
|
|
@@ -413,27 +415,27 @@ if ($form->isValidPartial($_POST)) {
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Do częściowej weryfikacji formularza możemy także użyć metody
|
|
|
|
|
- <code>processAjax()</code>. W przeciwieństwie do metody
|
|
|
|
|
- <code>isValidPartial()</code>, zwraca ona łańcuch znaków w formacie
|
|
|
|
|
|
|
+ Do częściowej weryfikacji formularza można także użyć metody
|
|
|
|
|
+ <methodname>processAjax()</methodname>. W przeciwieństwie do metody
|
|
|
|
|
+ <methodname>isValidPartial()</methodname>, zwraca ona łańcuch znaków w formacie
|
|
|
JSON zawierający informacje o błędach.
|
|
JSON zawierający informacje o błędach.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Zakładając że elementy zostały zweryfikowane i są poprawne, możesz
|
|
|
|
|
|
|
+ Zakładając że elementy zostały zweryfikowane i są poprawne, można
|
|
|
pobrać przefiltrowane wartości:
|
|
pobrać przefiltrowane wartości:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$values = $form->getValues();
|
|
$values = $form->getValues();
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Jeśli potrzebujesz niefiltrowanych wartości, użyj:
|
|
|
|
|
|
|
+ Jeśli potrzeba niefiltrowanych wartości, należy użyć:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$unfiltered = $form->getUnfilteredValues();
|
|
$unfiltered = $form->getUnfilteredValues();
|
|
|
]]>
|
|
]]>
|
|
|
</programlisting>
|
|
</programlisting>
|
|
@@ -443,16 +445,16 @@ $unfiltered = $form->getUnfilteredValues();
|
|
|
<title>Pobieranie informacji o błędach</title>
|
|
<title>Pobieranie informacji o błędach</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Twój formularz nie przeszedł weryfikacji? W większości przypadków
|
|
|
|
|
- możesz po prostu powtórnie renderować formularz, a błędy zostaną
|
|
|
|
|
- wyświetlone używając dekoratorów:
|
|
|
|
|
|
|
+ Formularz nie przeszedł weryfikacji? W większości przypadków
|
|
|
|
|
+ można po prostu powtórnie wyświetlić formularz, a błędy zostaną
|
|
|
|
|
+ pokazane używając dekoratorów:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
if (!$form->isValid($_POST)) {
|
|
if (!$form->isValid($_POST)) {
|
|
|
echo $form;
|
|
echo $form;
|
|
|
|
|
|
|
|
- // lub przekaż go do obiektu widoku i renderuj widok
|
|
|
|
|
|
|
+ // przekazanie go do obiektu widoku i renderowanie widoku
|
|
|
$this->view->form = $form;
|
|
$this->view->form = $form;
|
|
|
return $this->render('form');
|
|
return $this->render('form');
|
|
|
}
|
|
}
|
|
@@ -461,9 +463,9 @@ if (!$form->isValid($_POST)) {
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Dostępne są dwie metody do sprawdzania błędów. Metoda
|
|
Dostępne są dwie metody do sprawdzania błędów. Metoda
|
|
|
- <code>getErrors()</code> zwraca tablicę asocjacyjną zawierającą
|
|
|
|
|
|
|
+ <methodname>getErrors()</methodname> zwraca tablicę asocjacyjną zawierającą
|
|
|
informacje o błędach w postaci nazwa elementu / kody (gdzie kody są
|
|
informacje o błędach w postaci nazwa elementu / kody (gdzie kody są
|
|
|
- tablicami kodów błędów). Metoda <code>getMessages()</code> zwraca
|
|
|
|
|
|
|
+ tablicami kodów błędów). Metoda <methodname>getMessages()</methodname> zwraca
|
|
|
tablicę asocjacyjną zawierającą informacje o błędach w postaci nazwa
|
|
tablicę asocjacyjną zawierającą informacje o błędach w postaci nazwa
|
|
|
elementu / komunikaty (gdzie komunikaty są asocjacyjną tablicą w
|
|
elementu / komunikaty (gdzie komunikaty są asocjacyjną tablicą w
|
|
|
postaci kod / komunikat). Jeśli dany element nie zawiera błędów, nie
|
|
postaci kod / komunikat). Jeśli dany element nie zawiera błędów, nie
|
|
@@ -472,10 +474,11 @@ if (!$form->isValid($_POST)) {
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="zend.form.quickstart.puttingtogether">
|
|
<sect2 id="zend.form.quickstart.puttingtogether">
|
|
|
- <title>Złożenie tego w całość</title>
|
|
|
|
|
|
|
+ <title>Złożenie w całość</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Zbudujmy prosty formularz logowania. Potrzebne będą elementy:
|
|
|
|
|
|
|
+ Teraz można przystąpić do budowy prostego formularza logowania.
|
|
|
|
|
+ Potrzebne będą elementy:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
<itemizedlist>
|
|
@@ -485,27 +488,25 @@ if (!$form->isValid($_POST)) {
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Dla zobrazowania załóżmy że poprawna nazwa użytkownika powinna
|
|
|
|
|
|
|
+ Na potrzeby przykładu można załóżyć że poprawna nazwa użytkownika powinna
|
|
|
składać się jedynie ze znaków alfanumerycznych, powinna zaczynać
|
|
składać się jedynie ze znaków alfanumerycznych, powinna zaczynać
|
|
|
się od litery, jej długość powinna zawierać się między 6 a 12
|
|
się od litery, jej długość powinna zawierać się między 6 a 12
|
|
|
- znakami; litery powinny zostać zamienione na małe. Hasło musi
|
|
|
|
|
|
|
+ znakami. Litery powinny zostać zamienione na małe. Hasło musi
|
|
|
składać się minimalnie z 6 znaków. Wartość przycisku wysyłającego
|
|
składać się minimalnie z 6 znaków. Wartość przycisku wysyłającego
|
|
|
- formularz zignorujemy, więc nie musi być ona weryfikowana.
|
|
|
|
|
|
|
+ formularz można zignorować, więc nie musi podlegać walidacji.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Użyjemy metod konfiguracyjnych obiektu <code>Zend_Form</code> do
|
|
|
|
|
- zbudowania formularza:
|
|
|
|
|
|
|
+ Aby zbudować formularz można skorzystać z metod konfiguracyjnych obiektu
|
|
|
|
|
+ <classname>Zend_Form</classname>:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$form = new Zend_Form();
|
|
$form = new Zend_Form();
|
|
|
$form->setAction('/user/login')
|
|
$form->setAction('/user/login')
|
|
|
->setMethod('post');
|
|
->setMethod('post');
|
|
|
|
|
|
|
|
-// Utwórz i skonfiguruj element zawierający nazwę użytkownika:
|
|
|
|
|
|
|
+// Utworzenie i skonfigurowanie elementu zawierającego nazwę użytkownika:
|
|
|
$username = $form->createElement('text', 'username');
|
|
$username = $form->createElement('text', 'username');
|
|
|
$username->addValidator('alnum')
|
|
$username->addValidator('alnum')
|
|
|
->addValidator('regex', false, array('/^[a-z]+/'))
|
|
->addValidator('regex', false, array('/^[a-z]+/'))
|
|
@@ -513,35 +514,34 @@ $username->addValidator('alnum')
|
|
|
->setRequired(true)
|
|
->setRequired(true)
|
|
|
->addFilter('StringToLower');
|
|
->addFilter('StringToLower');
|
|
|
|
|
|
|
|
-// Utwórz i skonfiguruj element zawierający hasło:
|
|
|
|
|
|
|
+// Utworzenie i skonfigurowanie elementu zawierającego hasło:
|
|
|
$password = $form->createElement('password', 'password');
|
|
$password = $form->createElement('password', 'password');
|
|
|
$password->addValidator('StringLength', false, array(6))
|
|
$password->addValidator('StringLength', false, array(6))
|
|
|
->setRequired(true);
|
|
->setRequired(true);
|
|
|
|
|
|
|
|
-// Dodaj elementy do formularza:
|
|
|
|
|
|
|
+// Dodanie elementów do formularza:
|
|
|
$form->addElement($username)
|
|
$form->addElement($username)
|
|
|
->addElement($password)
|
|
->addElement($password)
|
|
|
- // użyj metody addElement() jako fabryki tworzącej przycisk 'Zaloguj':
|
|
|
|
|
|
|
+ // użycie metody addElement() jako fabryki tworzącej przycisk 'Zaloguj':
|
|
|
->addElement('submit', 'login', array('label' => 'Zaloguj'));
|
|
->addElement('submit', 'login', array('label' => 'Zaloguj'));
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Następnie utworzymy kontroler obsługujący formularz:
|
|
|
|
|
|
|
+ Następnie należy utworzyć kontroler obsługujący formularz:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
class UserController extends Zend_Controller_Action
|
|
class UserController extends Zend_Controller_Action
|
|
|
{
|
|
{
|
|
|
public function getForm()
|
|
public function getForm()
|
|
|
{
|
|
{
|
|
|
- // formularz utwórz jak wyżej
|
|
|
|
|
|
|
+ // tworzenie formularza jak wyżej
|
|
|
return $form;
|
|
return $form;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function indexAction()
|
|
public function indexAction()
|
|
|
{
|
|
{
|
|
|
- // renderuj plik user/form.phtml
|
|
|
|
|
|
|
+ // renderowanie skryptu user/form.phtml
|
|
|
$this->view->form = $this->getForm();
|
|
$this->view->form = $this->getForm();
|
|
|
$this->render('form');
|
|
$this->render('form');
|
|
|
}
|
|
}
|
|
@@ -553,51 +553,50 @@ class UserController extends Zend_Controller_Action
|
|
|
}
|
|
}
|
|
|
$form = $this->getForm();
|
|
$form = $this->getForm();
|
|
|
if (!$form->isValid($_POST)) {
|
|
if (!$form->isValid($_POST)) {
|
|
|
- // Nieudana weryfikacja; wyświetl formularz
|
|
|
|
|
|
|
+ // Weryfikacja nieudana, ponowne wyświetlenie formularza
|
|
|
$this->view->form = $form;
|
|
$this->view->form = $form;
|
|
|
return $this->render('form');
|
|
return $this->render('form');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$values = $form->getValues();
|
|
$values = $form->getValues();
|
|
|
- // spróbuj uwierzytelnić
|
|
|
|
|
|
|
+ // Weryfikacja udana, można próbować uwierzytelnić
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Utworzymy skrypt widoku wyświetlający formularz:
|
|
|
|
|
|
|
+ Utworzenie skryptu widoku wyświetlającego formularz:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
-<programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+<programlisting language="php"><![CDATA[
|
|
|
<h2>Zaloguj się:</h2>
|
|
<h2>Zaloguj się:</h2>
|
|
|
<?= $this->form ?>
|
|
<?= $this->form ?>
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Jak zauważysz w kodzie kontrolera, może być wymagane jeszcze trochę
|
|
|
|
|
- pracy: jeśli wysłane dane będą poprawne, powinieneś przeprowadzić
|
|
|
|
|
- uwierzytelnienie używając np. klasy <code>Zend_Auth</code>.
|
|
|
|
|
|
|
+ Jak nietrudno zauważyć, w kod kontrolera może wymagać trochę dodatkowej
|
|
|
|
|
+ pracy: jeśli wysłane dane będą poprawne, należy przeprowadzić
|
|
|
|
|
+ uwierzytelnienie używając np. klasy <classname>Zend_Auth</classname>.
|
|
|
</para>
|
|
</para>
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="zend.form.quickstart.config">
|
|
<sect2 id="zend.form.quickstart.config">
|
|
|
- <title>Użycie oiektu Zend_Config</title>
|
|
|
|
|
-
|
|
|
|
|
- <para>
|
|
|
|
|
- Wszystkie klasy <code>Zend_Form</code> można skonfigurować za pomocą
|
|
|
|
|
- komponentu <code>Zend_Config</code>; możesz przkazać obiekt klasy
|
|
|
|
|
- <code>Zend_Config</code> do konstruktora lub przekazać go za pomocą
|
|
|
|
|
- metody <code>setConfig()</code>. Spójrzmy jak możemy utworzyć
|
|
|
|
|
- powyższy formularz używając pliku INI. Wpierw weźmy pod uwagę
|
|
|
|
|
- zalecenia i umieśćmy konfigurację w sekcjach odnoszących się do typu
|
|
|
|
|
- wdrożenia aplikacji i skupmy się na sekcji 'development'. Następnie
|
|
|
|
|
- ustawmy utwórzmy sekcję dla danego kontrolera ('user'), oraz klucz
|
|
|
|
|
|
|
+ <title>Użycie obiektu Zend_Config</title>
|
|
|
|
|
+
|
|
|
|
|
+ <para>
|
|
|
|
|
+ Wszystkie klasy <classname>Zend_Form</classname> można skonfigurować za pomocą
|
|
|
|
|
+ komponentu <classname>Zend_Config</classname>. Można przekazać obiekt klasy
|
|
|
|
|
+ <classname>Zend_Config</classname> do konstruktora lub przekazać go za pomocą
|
|
|
|
|
+ metody <methodname>setConfig()</methodname>.
|
|
|
|
|
+ Oto jak można utworzyć powyższy formularz używając pliku INI.
|
|
|
|
|
+ Najpierw, biorąc pod uwagę zalecenia, należy umieścić konfigurację
|
|
|
|
|
+ w sekcjach odnoszących się do typu
|
|
|
|
|
+ wdrożenia aplikacji i skupić się na sekcji 'development'.
|
|
|
|
|
+ Następnie należy utwórzyć sekcję dla danego kontrolera ('user'), oraz klucz
|
|
|
dla formularza ('login'):
|
|
dla formularza ('login'):
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="ini"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="ini"><![CDATA[
|
|
|
[development]
|
|
[development]
|
|
|
; ogólna konfiguracja formularza
|
|
; ogólna konfiguracja formularza
|
|
|
user.login.action = "/user/login"
|
|
user.login.action = "/user/login"
|
|
@@ -622,21 +621,19 @@ user.login.elements.password.options.required = true
|
|
|
|
|
|
|
|
; przycisk wysyłający
|
|
; przycisk wysyłający
|
|
|
user.login.elements.submit.type = "submit"
|
|
user.login.elements.submit.type = "submit"
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Możesz to przekazać do konstruktora obiektu formularza:
|
|
|
|
|
|
|
+ Powyższe można przekazać do konstruktora obiektu formularza:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
- <programlisting role="php"><![CDATA[
|
|
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$config = new Zend_Config_Ini($configFile, 'development');
|
|
$config = new Zend_Config_Ini($configFile, 'development');
|
|
|
$form = new Zend_Form($config->user->login);
|
|
$form = new Zend_Form($config->user->login);
|
|
|
-]]>
|
|
|
|
|
- </programlisting>
|
|
|
|
|
|
|
+]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- i cały formularz zostanie w ten sposób zdefiniowany.
|
|
|
|
|
|
|
+ w ten sposób cały formularz został zdefiniowany.
|
|
|
</para>
|
|
</para>
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
@@ -644,9 +641,9 @@ $form = new Zend_Form($config->user->login);
|
|
|
<title>Podsumowanie</title>
|
|
<title>Podsumowanie</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Dzięki temu przewodnikowi powinieneś nauczyć się wykorzystywać moc
|
|
|
|
|
- i elastyczność komponentu <code>Zend_Form</code>. Teraz możesz
|
|
|
|
|
- przeczytać bardziej szczegółowe informacje!
|
|
|
|
|
|
|
+ Dzięki temu przewodnikowi czytelnik powinien być na dobrej drodze do wykorzystania mocy
|
|
|
|
|
+ i elastyczności komponentu <classname>Zend_Form</classname>. Aby uzyskać
|
|
|
|
|
+ bardziej szczegółowe informacje należy zapoznać się z dalszymi częściami dokumentacji.
|
|
|
</para>
|
|
</para>
|
|
|
</sect2>
|
|
</sect2>
|
|
|
</sect1>
|
|
</sect1>
|