|
|
@@ -0,0 +1,138 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 18216 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
+<sect2 id="zend.filter.set.null">
|
|
|
+ <title>Null</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Dieser Filter ändert die angegebene Eingabe so dass Sie <constant>NULL</constant> ist wenn
|
|
|
+ Sie spezifischen Kriterien entspricht. Das ist oft notwendig wenn man mit Datenbanken
|
|
|
+ arbeitet und einen <constant>NULL</constant> Wert statt einem Boolean oder irgendeinem
|
|
|
+ anderen Typ haben will.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <sect3 id="zend.filter.set.null.default">
|
|
|
+ <title>Standardverhalten für Zend_Filter_Null</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Standardmäßig arbeitet dieser Filter wie <acronym>PHP</acronym>'s
|
|
|
+ <methodname>empty()</methodname> Methode; in anderen Worten, wenn
|
|
|
+ <methodname>empty()</methodname> ein boolsches true zurückgibt, dann wird ein
|
|
|
+ <constant>NULL</constant> Wert zurückgegeben.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$filter = new Zend_Filter_Null();
|
|
|
+$value = '';
|
|
|
+$result = $filter->filter($value);
|
|
|
+// Gibt null statt einem leeren String zurück
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Das bedeutet das <classname>Zend_Filter_Null</classname>, ohne die Angabe irgendeiner
|
|
|
+ Konfiguration, alle Eingabetypen akteptiert und in den selben Fällen
|
|
|
+ <constant>NULL</constant> zurückgibt wie <methodname>empty()</methodname>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Jeder andere Wert ist zurückgegeben wie er ist, ohne irgendwelche Änderungen.
|
|
|
+ </para>
|
|
|
+ </sect3>
|
|
|
+
|
|
|
+ <sect3 id="zend.filter.set.null.types">
|
|
|
+ <title>Ändern des Verhaltens von Zend_Filter_Null</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Manchmal ist es nicht genug basieren auf <methodname>empty()</methodname> zu filtern.
|
|
|
+ Hierfür erlaubt es <classname>Zend_Filter_Null</classname> die Typen zu konfigurieren
|
|
|
+ welche konvertiert werden und jene die nicht konvertiert werden.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Die folgenden Typen können behandelt werden:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <itemizedlist>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>boolean</emphasis>: Konvertiert einen boolschen
|
|
|
+ <emphasis><constant>FALSE</constant></emphasis> Wert zu
|
|
|
+ <constant>NULL</constant>.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>integer</emphasis>: Konvertiert einen Integer <emphasis>0</emphasis>
|
|
|
+ Wert zu <constant>NULL</constant>.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>empty_array</emphasis>: Konvertiert ein leeres
|
|
|
+ <emphasis>Array</emphasis> zu <constant>NULL</constant>.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>string</emphasis>: Konvertiert einen leeren String
|
|
|
+ <emphasis>''</emphasis> zu <constant>NULL</constant>.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>zero</emphasis>: Konvertiert einen String der eine einzelne Null
|
|
|
+ Ziffer enthält (<emphasis>'0'</emphasis>) zu <constant>NULL</constant>.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>all</emphasis>: Konvertiert alle obigen Typen zu
|
|
|
+ <constant>NULL</constant>. (Das ist das Standardverhalten.)
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ </itemizedlist>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Es gibt verschiedene Wege um zu wählen welche der obigen Typen gefiltert werden und
|
|
|
+ welche nicht. Man kann einen oder mehrere Typen angeben und diese addieren, man kann
|
|
|
+ ein Array angeben, man kann Konstanten verwenden, oder man kann einen textuellen
|
|
|
+ String angeben. Siehe die folgenden Beispiele:
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+// Konvertiert false zu null
|
|
|
+$filter = new Zend_Filter_Null(Zend_Filter_Null::BOOLEAN);
|
|
|
+
|
|
|
+// Konvertiert false und 0 zu null
|
|
|
+$filter = new Zend_Filter_Null(
|
|
|
+ Zend_Filter_Null::BOOLEAN + Zend_Filter_Null::INTEGER
|
|
|
+);
|
|
|
+
|
|
|
+// Konvertiert false und 0 zu null
|
|
|
+$filter = new Zend_Filter_Null( array(
|
|
|
+ Zend_Filter_Null::BOOLEAN,
|
|
|
+ Zend_Filter_Null::INTEGER
|
|
|
+));
|
|
|
+
|
|
|
+// Konvertiert false und 0 zu null
|
|
|
+$filter = new Zend_Filter_Null(array(
|
|
|
+ 'boolean',
|
|
|
+ 'integer',
|
|
|
+));
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Man kann auch eine Instanz von <classname>Zend_Config</classname> angeben um die
|
|
|
+ gewünschten Typen zu setzen. Um Typen im nachhinein zu setzen kann
|
|
|
+ <methodname>setType()</methodname> verwendet werden.
|
|
|
+ </para>
|
|
|
+ </sect3>
|
|
|
+</sect2>
|
|
|
+<!--
|
|
|
+vim:se ts=4 sw=4 et:
|
|
|
+-->
|