| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.ldap.api.reference.zend-ldap-dn">
- <title>Zend_Ldap_Dn</title>
- <para>
- <classname>Zend_Ldap_Dn</classname> bietet ein objektorientiertes Interface für die
- Manipulation von <acronym>LDAP</acronym> Distinguished Names (DN). Der Parameter
- <varname>$caseFold</varname> wird in verschiedenen Methoden verwendet um festzustellen wie
- DN Attribute betreffend Ihres Schreibweise behandelt werden. Die erlaubten Werte für diesen
- Parameter sind:
- </para>
- <variablelist>
- <varlistentry>
- <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant></term>
- <listitem><para>Es wird keine Änderung der Schreibweise durchgeführt.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER</constant></term>
- <listitem><para>Alle Attribute werden zur Großschreibung konvertiert.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER</constant></term>
- <listitem><para>Alle Attribute werden zur Kleinschreibung konvertiert.</para></listitem>
- </varlistentry>
- </variablelist>
- <para>
- Die Standardmäßige Schreibweise ist <constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant>
- und kann mit <methodname>Zend_Ldap_Dn::setDefaultCaseFold()</methodname> gesetzt werden.
- Jede Instanz von <classname>Zend_Ldap_Dn</classname> kann Ihre eigenen Einstellungen für die
- Schreibweise haben. Wenn der Parameter <varname>$caseFold</varname> beim Methodenaufruf
- nicht angegeben wird dann ist er standardmäßig die Einstellung der Schreibweise von der
- Instanz.
- </para>
- <para>
- Die Klasse implementiert <code>ArrayAccess</code> um den indizierten Zugriff auf die
- unterschiedlichen Teile der DN zu gestatten. Die <code>ArrayAccess</code> Methoden verweisen
- für <code>offsetGet(integer $offset)</code> auf
- <methodname>Zend_Ldap_Dn::get($offset, 1, null)</methodname>, für
- <methodname>offsetSet()</methodname> auf
- <methodname>Zend_Ldap_Dn::set($offset, $value)</methodname> und für
- <methodname>offsetUnset()</methodname> auf
- <methodname>Zend_Ldap_Dn::remove($offset, 1)</methodname>.
- <methodname>offsetExists()</methodname> prüft einfach ob der Index innerhalb der Grenzen
- ist.
- </para>
- <table id="zend.ldap.api.reference.zend-ldap-dn.table">
- <title>Zend_Ldap_Dn API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <emphasis><code>Zend_Ldap_Dn factory(string|array $dn,
- string|null $caseFold)</code></emphasis>
- </entry>
- <entry>
- Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem Array
- oder String. Das Array muß der unter
- <methodname>Zend_Ldap_Dn::implodeDn()</methodname> beschriebenen
- Arraystruktur entsprechen.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>Zend_Ldap_Dn fromString(string $dn,
- string|null $caseFold)</code></emphasis>
- </entry>
- <entry>
- Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem String.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>Zend_Ldap_Dn fromArray(array $dn,
- string|null $caseFold)</code></emphasis>
- </entry>
- <entry>
- Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem
- Array. Das Array muß der Arraystruktur entsprechen welche unter
- <methodname>Zend_Ldap_Dn::implodeDn()</methodname> beschrieben ist.
- </entry>
- </row>
- <row>
- <entry><code>array getRdn(string|null $caseFold)</code></entry>
- <entry>
- Gibt den <acronym>RDN</acronym> des aktuellen DN zurück. Der zurückgegebene
- Wert ist ein Array wobei die Namen der Attribute von <acronym>RDN</acronym>
- im Schlüssel gesetzt sind und die <acronym>RDN</acronym> Attribute als Wert.
- </entry>
- </row>
- <row>
- <entry><code>string getRdnString(string|null $caseFold)</code></entry>
- <entry>
- Gibt den <acronym>RDN</acronym> vom aktuellen DN zurück. Der zurückgegebene
- Wert ist ein String.
- </entry>
- </row>
- <row>
- <entry><code>Zend_Ldap_Dn getParentDn(integer $levelUp)</code></entry>
- <entry>
- Gibt den DN des aktuellen DN Knotens, <varname>$levelUp</varname> Levels
- höher, zurück. <varname>$levelUp</varname> ist standardmäßig <code>1</code>.
- </entry>
- </row>
- <row>
- <entry>
- <code>array get(integer $index, integer $length, string|null
- $caseFold)</code>
- </entry>
- <entry>
- Gibt einen Teil des aktuellen DN zurück der von <varname>$index</varname>
- und <varname>$length</varname> eingegrenzt wird. <varname>$index</varname>
- beginnt mit <code>0</code> und der DN Teil von links.
- </entry>
- </row>
- <row>
- <entry>
- <code>Zend_Ldap_Dn set(integer $index, array $value)</code>
- </entry>
- <entry>
- Ersetzt den DN Teil im aktuellen DN. Diese Operation manipuliert die
- aktuelle Instanz.
- </entry>
- </row>
- <row>
- <entry>
- <code>Zend_Ldap_Dn remove(integer $index, integer $length)</code>
- </entry>
- <entry>
- Entfernt einen DN Teil vom aktuellen DN. Diese Operation manipuliert die
- aktuelle Instanz. <varname>$length</varname> ist standardmäßig
- <code>1</code>.
- </entry>
- </row>
- <row>
- <entry><code>Zend_Ldap_Dn append(array $value)</code></entry>
- <entry>
- Fügt einen DN Teil zum aktuellen DN hinzu, Diese Operation manipuliert die
- aktuelle Instanz.
- </entry>
- </row>
- <row>
- <entry><code>Zend_Ldap_Dn prepend(array $value)</code></entry>
- <entry>
- Fügt einen DN Teil vor dem aktuellen DN hinzu. Diese Operation manipuliert
- die aktuelle Instanz.
- </entry>
- </row>
- <row>
- <entry>
- <code>Zend_Ldap_Dn insert(integer $index, array $value)</code>
- </entry>
- <entry>
- Fügt einen DN Teil nach dem Index <varname>$index</varname> in den aktuellen
- DN ein. Diese Operation manipuliert die aktuelle Instanz.
- </entry>
- </row>
- <row>
- <entry><code>void setCaseFold(string|null $caseFold)</code></entry>
- <entry>
- Setzt die Option für die Schreibweise auf der aktuellen DN Instanz. Wenn
- <varname>$caseFold</varname> <constant>NULL</constant> ist dann wird die
- standardmäßige Einstellung der Schreibweise (standardmäßig ist
- <constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant> oder über
- <methodname>Zend_Ldap_Dn::setDefaultCaseFold()</methodname> gesetzt)
- für die aktuelle Instanz gesetzt.
- </entry>
- </row>
- <row>
- <entry><code>string toString(string|null $caseFold)</code></entry>
- <entry>Gibt den DN als String zurück.</entry>
- </row>
- <row>
- <entry><code>array toArray(string|null $caseFold)</code></entry>
- <entry>Gibt den DN als Array zurück.</entry>
- </row>
- <row>
- <entry><code>string __toString()</code></entry>
- <entry>
- Gibt den DN als String zurück - verweist auf
- <methodname>Zend_Ldap_Dn::toString(null)</methodname>.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>void setDefaultCaseFold(string $caseFold)</code></emphasis>
- </entry>
- <entry>
- Setzt die standardmäßige Option für die Schreibweise welche von allen
- Instanzen bei der Erstellung standardmäßig verwendet wird. Bereits
- existierende Instanzen sind von dieser Einstellung nicht betroffen.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>array escapeValue(string|array $values)</code></emphasis>
- </entry>
- <entry>Escapt einen DN Wert entsprechend <acronym>RFC</acronym> 2253.</entry>
- </row>
- <row>
- <entry>
- <emphasis><code>array unescapeValue(string|array $values)</code></emphasis>
- </entry>
- <entry>
- Macht die Konvertierung von
- <methodname>Zend_Ldap_Dn::escapeValue()</methodname> rückgängig.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>array explodeDn(string $dn, array
- &$keys, array &$vals, string|null $caseFold)</code></emphasis>
- </entry>
- <entry>
- <para>
- Zerteilt den DN <varname>$dn</varname> in ein Array das alle Teile des
- angegebenen DN enthält. <varname>$keys</varname> sind optional die DN
- Schlüssel (z.B. CN, OU, DC, ...). <varname>$vals</varname> sind optional
- die DN Werte. Das zurückgegebene Array ist vom Typ
- </para>
- <programlisting language="php"><![CDATA[
- array(
- array("cn" => "name1", "uid" => "user"),
- array("cn" => "name2"),
- array("dc" => "example"),
- array("dc" => "org")
- )
- ]]></programlisting>
- <para>
- für einen DN von
- <code>cn=name1+uid=user,cn=name2,dc=example,dc=org</code>.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>boolean checkDn(string $dn, array
- &$keys, array &$vals, string|null $caseFold)</code></emphasis>
- </entry>
- <entry>
- Prüft ob der gegebene DN <varname>$dn</varname> fehlerhaft ist. Wenn
- <varname>$keys</varname> oder <varname>$keys</varname> und
- <varname>$vals</varname> angegeben sind, werden diese Arrays mit dem
- betreffenden DN Schlüssel und Werten gefüllt.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>string implodeRdn(array $part, string|null
- $caseFold)</code></emphasis>
- </entry>
- <entry>
- Gibt den DN Teil in der Form <code>$attribute=$value</code> zurück.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>string implodeDn(array $dnArray,
- string|null $caseFold, string $separator)</code></emphasis>
- </entry>
- <entry>
- <para>
- Implodiert ein Array der Form die von
- <methodname>Zend_Ldap_Dn::explodeDn()</methodname> kommt in einen DN
- String. <varname>$separator</varname> ist standardmäßig <code>','</code>
- aber einige LDAP Server verstehen auch <code>';'</code>.
- <varname>$dnArray</varname> muß von folgendem Typ sein:
- </para>
- <programlisting language="php"><![CDATA[
- array(
- array("cn" => "name1", "uid" => "user"),
- array("cn" => "name2"),
- array("dc" => "example"),
- array("dc" => "org")
- )
- ]]></programlisting>
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>boolean isChildOf(string|Zend_Ldap_Dn
- $childDn, string|Zend_Ldap_Dn $parentDn)</code></emphasis>
- </entry>
- <entry>
- Prüft ob der angegebene <varname>$childDn</varname> unter dem
- <varname>$parentDn</varname> Subbaum ist.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
|