| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.ldap.api.reference.zend-ldap-node-schema">
- <title>Zend_Ldap_Node_Schema</title>
- <para>
- Die folgenden Methoden sind für alle Hersteller-spezifischen Unterklassen vorhanden.
- </para>
- <para>
- <code>Zend_Ldap_Node_Schema</code> enthält die magischen Methoden <code>__get()</code> und
- <code>__isset()</code> um auf die Attribute durch Ihren Namen zugreifen zu können. Die
- verweisen auf <code>Zend_Ldap_Node_Schema::getAttribute()</code> und
- <code>Zend_Ldap_Node_Schema::existsAttribute()</code>. <code>__set()</code> und
- <code>__unset()</code> sind auch implementiert, werfen aber eine
- <code>BadMethodCallException</code> da Änderungen auf RootDSE Nodes nicht erlaubt sind.
- Weiters implementiert die Klasse <code>ArrayAccess</code> für Array-Artigen Zugriff und
- wirft eine <code>BadMethodCallException</code> aus den bekannten Gründen.
- </para>
- <table id="zend.ldap.api.reference.zend-ldap-node-schema.table">
- <title>Zend_Ldap_Node_Schema API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>Zend_Ldap_Dn getDn()</code></entry>
- <entry>
- Holt den DN des aktuellen Nodes als <classname>Zend_Ldap_Dn</classname>.
- </entry>
- </row>
- <row>
- <entry><code>string getDnString(string $caseFold)</code></entry>
- <entry>Holt den DN des aktuellen Nodes als String.</entry>
- </row>
- <row>
- <entry><code>array getDnArray(string $caseFold)</code></entry>
- <entry>Holt den DN des aktuellen Nodes als Array.</entry>
- </row>
- <row>
- <entry><code>string getRdnString(string $caseFold)</code></entry>
- <entry>Holt den <acronym>RDN</acronym> des aktuellen Nodes als String.</entry>
- </row>
- <row>
- <entry><code>array getRdnArray(string $caseFold)</code></entry>
- <entry>Holt den <acronym>RDN</acronym> des aktuellen Nodes als Array.</entry>
- </row>
- <row>
- <entry><code>array getObjectClass()</code></entry>
- <entry>Gibt die objectClass des aktuellen Nodes zurück.</entry>
- </row>
- <row>
- <entry><code>string toString()</code></entry>
- <entry>
- Gibt den DN des aktuellen Nodes zurück - verweist auf
- <code>Zend_Ldap_Dn::getDnString()</code>.
- </entry>
- </row>
- <row>
- <entry><code>string __toString()</code></entry>
- <entry>
- Castet auf eine String Darstellung - leitet auf
- <code>Zend_Ldap_Dn::toString()</code> weiter.
- </entry>
- </row>
- <row>
- <entry><code>array toArray(boolean $includeSystemAttributes)</code></entry>
- <entry>
- Gibt eine Array Darstellung des aktuellen Nodes zurück. Wenn
- <code>$includeSystemAttributes</code> <constant>FALSE</constant> ist
- (Standardmäßig ist es <constant>TRUE</constant>) werden die System
- spezifischen Attribute vom Array entfernt. Anders als
- <code>Zend_Ldap_Node_Schema::getAttributes()</code> enthält das
- resultierende Array den DN mit dem Schlüssel <code>'dn'</code>.
- </entry>
- </row>
- <row>
- <entry><code>string toJson(boolean $includeSystemAttributes)</code></entry>
- <entry>
- Gibt eine <acronym>JSON</acronym> Darstellung des aktuellen Nodes zurück
- indem <code>Zend_Ldap_Node_Schema::toArray()</code> verwendet wird.
- </entry>
- </row>
- <row>
- <entry><code>array getData(boolean $includeSystemAttributes)</code></entry>
- <entry>
- Gibt die Attribute des Nodes zurück. Das Array enthält alle Attribute in
- Ihrem internen Format (keine Konvertierung).
- </entry>
- </row>
- <row>
- <entry>
- <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
- </entry>
- <entry>
- Prüft ob ein angegebenes Attribut existiert. Wenn <code>$emptyExists</code>
- <constant>FALSE</constant> ist werden leere Attribute (welche nur array()
- enthalten) als nicht existierend betrachtet und geben
- <constant>FALSE</constant> zurück. Wenn <code>$emptyExists</code>
- <constant>TRUE</constant> ist werden leere Attribute als existent betrachtet
- und geben <constant>TRUE</constant> zurück. In diesem Fall gibt die Methode
- nur dann <constant>FALSE</constant> zurück wenn der Name des Attributs in
- der Sammlung der Schlüssel fehlt.
- </entry>
- </row>
- <row>
- <entry>
- <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
- </entry>
- <entry>
- Prüft ob angegebene Werte im Attribut existieren. Die Methode gibt nur dann
- <constant>FALSE</constant> zurück wenn alle Werte in <code>$value</code>
- auch im Attribut enthalten sind. Der Vergleich wird strikt durchgeführt (er
- respektiert den Datentyp).
- </entry>
- </row>
- <row>
- <entry><code>integer count()</code></entry>
- <entry>
- Gibt die Anzahl der Attribute im Node zurück. Implementiert Countable.
- </entry>
- </row>
- <row>
- <entry>
- <code>mixed getAttribute(string $name, integer|null $index)</code>
- </entry>
- <entry>
- Holt ein <acronym>LDAP</acronym> Attribut. Datenkonvertierung wird
- angewendet indem <code>Zend_Ldap_Attribute::getAttribute()</code> verwendet
- wird.
- </entry>
- </row>
- <row>
- <entry>
- <code>array getAttributes(boolean $includeSystemAttributes)</code>
- </entry>
- <entry>
- Holt alle Attribute des Nodes. Wenn <code>$includeSystemAttributes</code>
- <constant>FALSE</constant> ist (der Standardwert ist
- <constant>TRUE</constant>) werden systemspezifische Attribute vom Array
- entfernt.
- </entry>
- </row>
- <row>
- <entry>
- <code>array|integer getDateTimeAttribute(string $name,
- integer|null $index)</code>
- </entry>
- <entry>
- Holt ein <acronym>LDAP</acronym> date/time Attribut. Datenkonvertierung wird
- angewendet indem <code>Zend_Ldap_Attribute::getDateTimeAttribute()</code>
- verwendet wird.
- </entry>
- </row>
- <row>
- <entry><code>Zend_Ldap_Node_Schema reload(Zend_Ldap $ldap)</code></entry>
- <entry>
- Lädt die Attribute des aktuellen Nodes neu vom angegebenen
- <acronym>LDAP</acronym> Server.
- </entry>
- </row>
- <row>
- <entry>
- <emphasis><code>Zend_Ldap_Node_Schema create(Zend_Ldap
- $ldap)</code></emphasis>
- </entry>
- <entry>Factory Methode um den Schema Node zu erstellen.</entry>
- </row>
- <row>
- <entry><code>array getAttributeTypes()</code></entry>
- <entry>Holt den Typ des Attributs als Array von <code/>.</entry>
- </row>
- <row>
- <entry><code>array getObjectClasses()</code></entry>
- <entry>
- Holt das Klassenobjekt als Array von
- <code>Zend_Ldap_Node_Schema_ObjectClass_Interface</code>.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table id="zend.ldap.api.reference.zend-ldap-node-schema.attributetype-interface.table">
- <title>Zend_Ldap_Node_Schema_AttributeType_Interface API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>string getName()</code></entry>
- <entry>Holt den Namen des Attributs.</entry>
- </row>
- <row>
- <entry><code>string getOid()</code></entry>
- <entry>Holt die <acronym>OID</acronym> des Attributs.</entry>
- </row>
- <row>
- <entry><code>string getSyntax()</code></entry>
- <entry>Holt die Syntax des Attributs.</entry>
- </row>
- <row>
- <entry><code>int|null getMaxLength()</code></entry>
- <entry>Holt die maximale Länge des Attributs.</entry>
- </row>
- <row>
- <entry><code>boolean isSingleValued()</code></entry>
- <entry>Gibt zurück ob das Attribut ein einzelner Wert ist.</entry>
- </row>
- <row>
- <entry><code>string getDescription()</code></entry>
- <entry>holt die Beschreibung des Attributs</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table id="zend.ldap.api.reference.zend-ldap-node-schema.objectclass-interface.table">
- <title>Zend_Ldap_Node_Schema_ObjectClass_Interface API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>string getName()</code></entry>
- <entry>Gibt den Namen von objectClass zurück.</entry>
- </row>
- <row>
- <entry><code>string getOid()</code></entry>
- <entry>Gibt das <acronym>OID</acronym> von objectClass zurück.</entry>
- </row>
- <row>
- <entry><code>array getMustContain()</code></entry>
- <entry>
- Gibt die Attribute zurück welche diese objectClass enthalten muß.
- </entry>
- </row>
- <row>
- <entry><code>array getMayContain()</code></entry>
- <entry>
- Gibt die Attribute zurück welche diese objectClass enthalten kann.
- </entry>
- </row>
- <row>
- <entry><code>string getDescription()</code></entry>
- <entry>Gibt die Beschreibung des Attributs zurück</entry>
- </row>
- <row>
- <entry><code>integer getType()</code></entry>
- <entry>
- Gibt den Typ von objectClass zurück. Diese Methode gibt einen der folgenden
- Werte zurück:
- <variablelist>
- <varlistentry>
- <term><code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_UNKNOWN</code></term>
- <listitem><para>für unbekannte Klassentypen</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_STRUCTURAL</code></term>
- <listitem><para>für strukturelle Klassen</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_ABSTRACT</code></term>
- <listitem><para>für abstrakte Klassen</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><code>Zend_Ldap_Node_Schema::OBJECTCLASS_TYPE_AUXILIARY</code></term>
- <listitem><para>für Hilfsklassen</para></listitem>
- </varlistentry>
- </variablelist>
- </entry>
- </row>
- <row>
- <entry><code>array getParentClasses()</code></entry>
- <entry>
- Gibt die elterliche objectClass dieser Klasse zurück. Diese enthalten
- strukturelle, abstrakte und Hilfsklassen.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <para>
- Klassen welche Attributtypen repräsentieren und auch Objektklassen erweitern
- <code>Zend_Ldap_Node_Schema_Item</code> welche einige Kernmethoden bietet um auf eigene
- Attribute im darunterliegenden <acronym>LDAP</acronym> Node zugreifen zu können.
- <code>Zend_Ldap_Node_Schema_Item</code> enthält die magischen Methoden
- <code>__get()</code> und <code>__isset()</code> um auf die Attribute mit Ihrem Namen
- zugreifen zu können. Weiters implementiert die Klasse <code>ArrayAccess</code> für einen
- Array-artigen Zugriff auf die Attribute. <code>offsetSet()</code> und
- <code>offsetUnset()</code> werfen eine <code>BadMethodCallException</code> da Änderungen
- in Schema Informations Nodes nicht erlaubt sind.
- </para>
- <table id="zend.ldap.api.reference.zend-ldap-node-schema.schema-item.table">
- <title>Zend_Ldap_Node_Schema_Item API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>array getData()</code></entry>
- <entry>Holt die darunterliegenden Daten vom Schema Informations Node.</entry>
- </row>
- <row>
- <entry><code>integer count()</code></entry>
- <entry>
- Gibt die Anzahl der Attribute für diesen Schema Informations Node zurück.
- Implementiert Countable.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.openldap">
- <title>OpenLDAP</title>
- <para>
- Zusätzlich können die üblichen Methoden von oben auf Instanzen von
- <code>Zend_Ldap_Node_Schema_OpenLDAP</code> angewendet werden.
- </para>
- <table id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.table">
- <title>Zend_Ldap_Node_Schema_OpenLDAP API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>array getLdapSyntaxes()</code></entry>
- <entry>Holt die <acronym>LDAP</acronym> Syntaxe.</entry>
- </row>
- <row>
- <entry><code>array getMatchingRules()</code></entry>
- <entry>Holt die passenden Regeln.</entry>
- </row>
- <row>
- <entry><code>array getMatchingRuleUse()</code></entry>
- <entry>Holt die verwendete passende Regel.</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table
- id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.attributetype-interface.table">
- <title>Zend_Ldap_Node_Schema_AttributeType_OpenLDAP API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <code>Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
- getParent()</code>
- </entry>
- <entry>
- Gibt den Type des Elternattributs vom geerbten Baum wenn einer
- existiert.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table
- id="zend.ldap.api.reference.zend-ldap-node-schema.openldap.objectclass-interface.table">
- <title>Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP API</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Methode</entry>
- <entry>Beschreibung</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><code>array getParents()</code></entry>
- <entry>
- Gibt die elterlichen Objektklassen im vererbten Baum zurück wenn einer
- existiert. Das zurückgegebene Array ist ein Array von
- <code>Zend_Ldap_Node_Schema_ObjectClass_OpenLdap</code>.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect4>
- <sect4 id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory">
- <title>ActiveDirectory</title>
- <note>
- <title>Browsen im Schema von ActiveDirectory Servern</title>
- <para>
- Durch eine Einschränkung in Microsoft ActiveDirectory Servern betreffend der Anzahl
- an einträgen die bei generellen Such Routinen zurückgegeben werden, und wegen der
- Struktur des ActiveDirectory Schema Repositories, ist das Schema Browsen aktuell
- <emphasis>nicht</emphasis> für Microsoft ActiveDirectory Server vorhanden.
- </para>
- </note>
- <para>
- <code>Zend_Ldap_Node_Schema_ActiveDirectory</code> bietet keine zusätzlichen Methoden
- an.
- </para>
- <table
- id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.attributetype-interface.table">
- <title>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory API</title>
- <tgroup cols="1">
- <tbody>
- <row>
- <entry>
- <code>Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory</code>
- bietet keine zusätzlichen Methoden an.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table
- id="zend.ldap.api.reference.zend-ldap-node-schema.activedirectory.objectclass-interface.table">
- <title>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory API</title>
- <tgroup cols="1">
- <tbody>
- <row>
- <entry>
- <code>Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory</code>
- bietet keine zusätzlichen Methoden an.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect4>
- </sect3>
|