Zend_Ldap-API-Ldap.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 21821 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.ldap.api.reference.zend-ldap">
  5. <title>Zend_Ldap</title>
  6. <para>
  7. <classname>Zend_Ldap</classname> ist das Basisinterface zum <acronym>LDAP</acronym> Server.
  8. Es bietet Verbindungs- und Bindungsmethode sowie Methoden um auf dem <acronym>LDAP</acronym>
  9. Baum zu arbeiten.
  10. </para>
  11. <table id="zend.ldap.api.reference.zend-ldap.table">
  12. <title>Zend_Ldap API</title>
  13. <tgroup cols="2">
  14. <thead>
  15. <row>
  16. <entry>Methode</entry>
  17. <entry>Beschreibung</entry>
  18. </row>
  19. </thead>
  20. <tbody>
  21. <row>
  22. <entry><code>string filterEscape(string $str)</code></entry>
  23. <entry>
  24. Escapt einen Wert damit dieser in einem <acronym>LDAP</acronym> Filter
  25. entsprechend <acronym>RFC</acronym> 2254. Diese Methode ist
  26. <emphasis>deprecated</emphasis>, stattdessen sollte
  27. <methodname>Zend_Ldap_Dn::checkDn()</methodname> verwendet werden.
  28. </entry>
  29. </row>
  30. <row>
  31. <entry>
  32. <code>boolean explodeDn($dn, array &amp;$keys = null, array &amp;$vals =
  33. null)</code>
  34. </entry>
  35. <entry>
  36. Prüft ob ein angegebener DN <varname>$dn</varname> fehlerhaft ist. Wenn
  37. <varname>$keys</varname> oder <varname>$keys</varname> und
  38. <varname>$vals</varname> angegeben werden, werden diese Arrays mit den
  39. entsprechenden DN Schlüsseln und Werten gefüllt. Diese Methode ist
  40. <emphasis>deprecated</emphasis>, stattdessen sollte
  41. <methodname>Zend_Ldap_Dn::checkDn()</methodname> verwendet werden.
  42. </entry>
  43. </row>
  44. <row>
  45. <entry><code>__construct($options)</code></entry>
  46. <entry>
  47. Constructor. Der <varname>$options</varname> Parameter ist Optional und kann
  48. ein Array, oder eine Instanz von <classname>Zend_Config</classname> sein.
  49. Wenn keine Optionen bei der Instanzierung angegeben werden, müssen die
  50. Verbindungsparameter der Instanz übergeben werden indem man
  51. <methodname>Zend_Ldap::setOptions()</methodname> verwendet. Die erlaubten
  52. Optionen werden in <link
  53. linkend="zend.ldap.api.configuration.table">Zend_Ldap Optionen</link>
  54. apezifiziert.
  55. </entry>
  56. </row>
  57. <row>
  58. <entry><code>resource getResource()</code></entry>
  59. <entry>
  60. Gibt die rohe Ressource der <acronym>LDAP</acronym> Erweiterung (ext/ldap)
  61. zurück.
  62. </entry>
  63. </row>
  64. <row>
  65. <entry><code>integer getLastErrorCode()</code></entry>
  66. <entry>
  67. Gibt die <acronym>LDAP</acronym> Fehlernummer des letzten
  68. <acronym>LDAP</acronym> Kommandos zurück.
  69. </entry>
  70. </row>
  71. <row>
  72. <entry>
  73. <code>string getLastError(integer &amp;$errorCode, array
  74. &amp;$errorMessages)</code>
  75. </entry>
  76. <entry>
  77. Gibt die <acronym>LDAP</acronym> Fehlermeldung des letzten
  78. <acronym>LDAP</acronym> Kommandos zurück. Der optionale
  79. <varname>$errorCode</varname> Parameter ist auf die <acronym>LDAP</acronym>
  80. Fehlernummer gesetzt wenn er angegeben ist. Die verschiedenen
  81. <acronym>LDAP</acronym> Funktionen welche Fehler zurückgeben können
  82. unterschiedliche Dinge zurückgeben, sodas Sie alle gesammelt werden wenn
  83. <varname>$errorMessages</varname> angegeben ist.
  84. </entry>
  85. </row>
  86. <row>
  87. <entry><code>Zend_Ldap setOptions($options)</code></entry>
  88. <entry>
  89. Setzt die <acronym>LDAP</acronym> Verbindungs- und Bindungsparameter.
  90. <varname>$options</varname> kann ein Array oder eine Instanz von
  91. <classname>Zend_Config</classname> sein. Die erlauben Optionen werden in
  92. <link linkend="zend.ldap.api.configuration.table">Zend_Ldap Optionen</link>
  93. definiert.
  94. </entry>
  95. </row>
  96. <row>
  97. <entry><code>array getOptions()</code></entry>
  98. <entry>Gibt die aktuellen Verbindungs- und Bindungsparameter zurück.</entry>
  99. </row>
  100. <row>
  101. <entry><code>string getBaseDn()</code></entry>
  102. <entry>
  103. Gibt den Basis DN zurück auf welche diese <acronym>LDAP</acronym> Verbindung
  104. gebunden ist.
  105. </entry>
  106. </row>
  107. <row>
  108. <entry>
  109. <code>string getCanonicalAccountName(string $acctname, integer $form)</code>
  110. </entry>
  111. <entry>
  112. Gibt den kanonischen Account Namen des angegebenen Account Namens
  113. <varname>$acctname</varname> zurück. <varname>$form</varname> spezifiziert
  114. das <link
  115. linkend="zend.ldap.using.theory-of-operation.account-name-canonicalization.table">Format</link>
  116. in das der Account Name kanonisiert wird. Siehe <link
  117. linkend="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">Kanonisierung
  118. des Account Namens</link> für weitere Details.
  119. </entry>
  120. </row>
  121. <row>
  122. <entry><code>Zend_Ldap disconnect()</code></entry>
  123. <entry>
  124. Trennt die Verbindung der <classname>Zend_Ldap</classname> Instanz vom
  125. <acronym>LDAP</acronym> Server.
  126. </entry>
  127. </row>
  128. <row>
  129. <entry>
  130. <code>Zend_Ldap connect(string $host, integer $port, boolean $useSsl,
  131. boolean $useStartTls)</code>
  132. </entry>
  133. <entry>
  134. Verbindet eine Instanz von <classname>Zend_Ldap</classname> mit dem
  135. angegebenen <acronym>LDAP</acronym> Server. Alle Parameter sind optional,
  136. und werden von den <acronym>LDAP</acronym> Verbindungs- und
  137. Bindungsparametern genommen welche der Instanz über den Constructor oder
  138. über <methodname>Zend_Ldap::setOptions()</methodname> angegeben wurden, wenn
  139. <constant>NULL</constant> angegeben wurde.
  140. </entry>
  141. </row>
  142. <row>
  143. <entry><code>Zend_Ldap bind(string $username, string $password)</code></entry>
  144. <entry>
  145. Authentifiziert <varname>$username</varname> mit
  146. <varname>$password</varname> beim <acronym>LDAP</acronym> Server. Wenn
  147. beide Parameter nicht angegeben werden, dann wird die Verbindung mit den
  148. Anmeldeinformationen durchgeführt welche in den Verbindungs- und
  149. Bindungsparametern angegeben wurden, und ein anonymes Binden wird
  150. ausgeführt. Es ist zu beachten dass hierbei anonymes Binden vom
  151. <acronym>LDAP</acronym> Server erlaubt sein muss. Ein leerer String
  152. <code>''</code> kann als <varname>$password</varname> zusammen mit einem
  153. Benutzernamen übergeben werden wenn, und nur wenn,
  154. <code>allowEmptyPassword</code> in den Verdinguns- und Bindungsparametern
  155. auf <constant>TRUE</constant> gesetzt ist.
  156. </entry>
  157. </row>
  158. <row>
  159. <entry>
  160. <code>Zend_Ldap_Collection search(string|Zend_Ldap_Filter_Abstract $filter,
  161. string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string
  162. $sort, string $collectionClass)</code>
  163. </entry>
  164. <entry>
  165. Durchsucht den <acronym>LDAP</acronym> Baum mit dem angegebenen
  166. <varname>$filter</varname> und den angegebenen Such Parametern.
  167. <variablelist>
  168. <varlistentry>
  169. <term><code>string|Zend_Ldap_Filter_Abstract $filter</code></term>
  170. <listitem>
  171. <para>
  172. Der Filterstring kann in der Suche verwendet werden, z.B.
  173. <code>(objectClass=posixAccount)</code>.
  174. </para>
  175. </listitem>
  176. </varlistentry>
  177. <varlistentry>
  178. <term><code>string|Zend_Ldap_Dn $basedn</code></term>
  179. <listitem>
  180. <para>
  181. Die Suchbasis für die Suche. Wenn Sie nicht, oder
  182. <constant>NULL</constant> angegeben wird, dann wird die
  183. <code>baseDn</code> der Verbindungs- und Bindungs Parameter
  184. verwendet.
  185. </para>
  186. </listitem>
  187. </varlistentry>
  188. <varlistentry>
  189. <term><code>integer $scope</code></term>
  190. <listitem>
  191. <para>
  192. Der Suchbereich.
  193. <constant>Zend_Ldap::SEARCH_SCOPE_SUB</constant> durchsucht
  194. den kompletten Unterbaum inklusive dem
  195. <varname>$baseDn</varname> Node.
  196. <constant>Zend_Ldap::SEARCH_SCOPE_ONE</constant> schränkt
  197. die Suche auf ein Level unter <varname>$baseDn</varname>
  198. ein. <constant>Zend_Ldap::SEARCH_SCOPE_BASE</constant>
  199. schränkt die Suche auf <varname>$baseDn</varname> selbst
  200. ein; das kann verwendet werden um effizient einen einzelnen
  201. Eintrag durch deinen DN zu erhalten. Der Standardwert ist
  202. <constant>Zend_Ldap::SEARCH_SCOPE_SUB</constant>.
  203. </para>
  204. </listitem>
  205. </varlistentry>
  206. <varlistentry>
  207. <term><code>array $attributes</code></term>
  208. <listitem>
  209. <para>
  210. Spezifiziert die Attribute welche in den zurückgegebenen
  211. Einträgen enthalten sind. Um alle möglichen Attribute zu
  212. inkludieren (ACL Restriktionen können es verhindern das
  213. bestimmte Attribute von einem angegebenen Benutzer empfangen
  214. werden) kann entweder ein leeres Array
  215. <methodname>array()</methodname> oder
  216. <code>array('*')</code> an die Methode übergeben werden.
  217. Bei einigen <acronym>LDAP</acronym> Servern kann man
  218. spezielle interne Attribute erhalten wenn man an die Methode
  219. <code>array('*', '+')</code> übergibt.
  220. </para>
  221. </listitem>
  222. </varlistentry>
  223. <varlistentry>
  224. <term><code>string $sort</code></term>
  225. <listitem>
  226. <para>
  227. Ob die Sammlung der Ergebnisse nach dem Attribut
  228. <varname>$sort</varname> sortiert werden soll. Ergebnisse
  229. können nur nach einem einzelnen Attribut sortiert werden,
  230. da dieser Parameter die ext/ldap Funktion
  231. <methodname>ldap_sort()</methodname> verwendet.
  232. </para>
  233. </listitem>
  234. </varlistentry>
  235. <varlistentry>
  236. <term><code>string $collectionClass</code></term>
  237. <listitem>
  238. <para>
  239. Ob das Ergebnis in ein Objekt vom Typ
  240. <varname>$collectionClass</varname> eingebettet werden soll.
  241. Standardmäßig wird ein Objekt vom Typ
  242. <classname>Zend_Ldap_Collection</classname> zurückgegeben.
  243. Die eigene Klasse muß
  244. <classname>Zend_Ldap_Collection</classname> erweitern und
  245. wird bei der Instanziierung ein
  246. <classname>Zend_Ldap_Collection_Iterator_Default</classname>
  247. übergeben.
  248. </para>
  249. </listitem>
  250. </varlistentry>
  251. </variablelist>
  252. </entry>
  253. </row>
  254. <row>
  255. <entry>
  256. <code>integer count(string|Zend_Ldap_Filter_Abstract
  257. $filter, string|Zend_Ldap_Dn $basedn, integer $scope)</code>
  258. </entry>
  259. <entry>
  260. Zählt die Elemente welche durch die angegebenen Such Parameter zurückgegeben
  261. werden. Siehe <methodname>Zend_Ldap::search()</methodname> für eine
  262. detailierte Beschreibung der Parameter der Methode.
  263. </entry>
  264. </row>
  265. <row>
  266. <entry><code>integer countChildren(string|Zend_Ldap_Dn $dn)</code></entry>
  267. <entry>
  268. Zählt die direkten Abhängigkeiten (Kinder) des Eintrags, der durch den
  269. angegebenen <varname>$dn</varname> identifiziert wird.
  270. </entry>
  271. </row>
  272. <row>
  273. <entry><code>boolean exists(string|Zend_Ldap_Dn $dn)</code></entry>
  274. <entry>
  275. Prüft ob der Eintrag, der durch den angegebenen <varname>$dn</varname>
  276. identifiziert wird, existiert.
  277. </entry>
  278. </row>
  279. <row>
  280. <entry>
  281. <code>array searchEntries(string|Zend_Ldap_Filter_Abstract
  282. $filter, string|Zend_Ldap_Dn $basedn, integer $scope, array
  283. $attributes, string $sort)</code>
  284. </entry>
  285. <entry>
  286. Führt eine Such Operation durch und gibt als Ergebnis ein
  287. <acronym>PHP</acronym> Array zurück. Das ist notwendigerweise die gleiche
  288. Methode wie <methodname>Zend_Ldap::search()</methodname> ausser beim
  289. Rückgabe Typ. Siehe <methodname>Zend_Ldap::search()</methodname> für eine
  290. detailierte Beschreibung der Parameter der Methode.
  291. </entry>
  292. </row>
  293. <row>
  294. <entry>
  295. <code>array getEntry(string|Zend_Ldap_Dn $dn, array
  296. $attributes, boolean $throwOnNotFound)</code>
  297. </entry>
  298. <entry>
  299. Gibt den <acronym>LDAP</acronym> Eintrag zurück der von
  300. <varname>$dn</varname> mit den in <varname>$attributes</varname> angegebenen
  301. Attributen identifiziert wird. Wenn <varname>$attributes</varname>
  302. unterdrückt wird (<methodname>array()</methodname>) werden alle Attribute im
  303. Ergebnis ausgegeben. <varname>$throwOnNotFound</varname> ist standardmäßig
  304. <constant>FALSE</constant>, so dass die Methode <constant>NULL</constant>
  305. zurückgibt wemm der spezifizierte Eintrag nicht gefunden wird. Wenn er auf
  306. <constant>TRUE</constant> gesetzt ist, wird statt dessen eine
  307. <classname>Zend_Ldap_Exception</classname> geworfen.
  308. </entry>
  309. </row>
  310. <row>
  311. <entry>
  312. <emphasis><code>void prepareLdapEntryArray(array
  313. &amp;$entry)</code></emphasis>
  314. </entry>
  315. <entry>
  316. Bereitet ein Array für die Verwendung in Modifikations Operationen von
  317. <acronym>LDAP</acronym> vor. Diese Methode muß nicht von Endbenutzern
  318. aufgerufen werden da Sie implizit bei jeder Methode die Daten verändert
  319. aufgerufen wird.
  320. </entry>
  321. </row>
  322. <row>
  323. <entry>
  324. <code>Zend_Ldap add(string|Zend_Ldap_Dn $dn, array $entry)</code>
  325. </entry>
  326. <entry>
  327. Fügt den Eintrag der durch <varname>$dn</varname> mit seinen
  328. <varname>$entry</varname> identifiziert wird im <acronym>LDAP</acronym>
  329. Baum hinzu. Wirft eine <classname>Zend_Ldap_Exception</classname> wenn der
  330. Eintrag nicht hinzugefügt werden konnte.
  331. </entry>
  332. </row>
  333. <row>
  334. <entry>
  335. <code>Zend_Ldap update(string|Zend_Ldap_Dn $dn, array $entry)</code>
  336. </entry>
  337. <entry>
  338. Aktualisiert den Eintrag der durch <varname>$dn</varname> mit seinen
  339. <varname>$entry</varname> Attributen identifiziert wird im
  340. <acronym>LDAP</acronym> Baum. Wirft eine
  341. <classname>Zend_Ldap_Exception</classname> wenn der Eintrag nicht geändert
  342. werden konnte.
  343. </entry>
  344. </row>
  345. <row>
  346. <entry>
  347. <code>Zend_Ldap save(string|Zend_Ldap_Dn $dn, array $entry)</code>
  348. </entry>
  349. <entry>
  350. Speichert den Eintrag der durch <varname>$dn</varname> mit seinen
  351. <varname>$entry</varname> Attributen identifiziert wird im
  352. <acronym>LDAP</acronym> Baum. Wirft eine
  353. <classname>Zend_Ldap_Exception</classname> wenn der Eintrag nicht
  354. gespeichert werden konnte. Diese Methode wählt durch eine Suche im
  355. <acronym>LDAP</acronym> Baum ob der Eintrag hinzugefügt oder aktualisiert
  356. wird.
  357. </entry>
  358. </row>
  359. <row>
  360. <entry>
  361. <code>Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean $recursively)</code>
  362. </entry>
  363. <entry>
  364. Löscht den Eintrag der durch <varname>$dn</varname> identifiziert wird vom
  365. <acronym>LDAP</acronym> Baum. Wirft eine
  366. <classname>Zend_Ldap_Exception</classname> Exception wenn der Eintrag nicht
  367. gelöscht werden kann. <varname>$recursively</varname> ist standardmäßig
  368. <constant>FALSE</constant>. Auf <constant>TRUE</constant> gesetzt wird
  369. das Löschen rekursiv durchgeführt und löscht effektiver Weise den kompletten
  370. Unterbaum. Das Löschen wird fehlschlagen wenn
  371. <varname>$recursively</varname> <constant>FALSE</constant> ist und der
  372. <varname>$dn</varname> Eintrag kein Blatteintrag ist.
  373. </entry>
  374. </row>
  375. <row>
  376. <entry>
  377. <code>Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn
  378. $to, boolean $recursively, boolean $alwaysEmulate)</code>
  379. </entry>
  380. <entry>
  381. Verschiebt den Eintrag der von <varname>$from</varname> identifiziert wird
  382. auf einen Ort nach <varname>$to</varname> wobei sein <acronym>RDN</acronym>
  383. unverändert bleibt. <varname>$recursively</varname> spezifiziert ob die
  384. Operation rekursiv ausgeführt wird (standardmäßig
  385. <constant>FALSE</constant>) so dass der Eintrag <varname>$from</varname> und
  386. alle seine Untereinträge verschoben werden. Das Verschieben wird
  387. fehlschlagen wenn <varname>$recursively</varname> <constant>FALSE</constant>
  388. ist und der Eintrag <varname>$from</varname> kein Blatteintrag ist.
  389. <varname>$alwaysEmulate</varname> kontrolliert ob die ext/ldap Funktion
  390. <methodname>ldap_rename()</methodname> verwendet werden soll wenn Sie
  391. vorhanden ist. Das kann nur für Blatteinträge funktionieren und für Server
  392. und für ext/ldap die diese Funktion unterstützen. Auf
  393. <constant>TRUE</constant> gesetzt wird immer eine emulierte Rename Operation
  394. verwendet.
  395. <note>
  396. <para>
  397. Alle Verschiebe-Operationen werden ausgeführt indem die
  398. betreffenden Einträge im <acronym>LDAP</acronym> Baum kopiert und
  399. anschließend gelöscht werden. Diese Operationen sind nicht
  400. <emphasis>atomar</emphasis> so dass Fehler während der Operation zu
  401. einem <emphasis>inkonsistenten</emphasis> Status am
  402. <acronym>LDAP</acronym> Server führen. Das selbe gilt auch für alle
  403. rekursiven Operationen. Auch diese sind in keiner Weise atomar. Man
  404. sollte das immer beachten.
  405. </para>
  406. </note>
  407. </entry>
  408. </row>
  409. <row>
  410. <entry>
  411. <code>Zend_Ldap move(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to,
  412. boolean $recursively, boolean $alwaysEmulate)</code>
  413. </entry>
  414. <entry>
  415. Das ist ein Alias für <methodname>Zend_Ldap::rename()</methodname>.
  416. </entry>
  417. </row>
  418. <row>
  419. <entry>
  420. <code>Zend_Ldap rename(string|Zend_Ldap_Dn $from, string|Zend_Ldap_Dn $to,
  421. boolean $recursively, boolean $alwaysEmulate)</code>
  422. </entry>
  423. <entry>
  424. Benennt den Eintrag der von <varname>$from</varname> bis
  425. <varname>$to</varname> identifiziert wird um.
  426. <varname>$recursively</varname> spezifiziert ob die Operation rekursiv
  427. durchgeführt werden soll (standardmäßig <constant>FALSE</constant>) so das
  428. der Eintrag <varname>$from</varname> und alle seine Abhängigkeiten
  429. verschoben werden. Das Umbenennen wird fehlschlagen wenn
  430. <varname>$recursively</varname> <constant>FALSE</constant> ist und der
  431. Eintrag <varname>$from</varname> kein Blatteintrag ist.
  432. <varname>$alwaysEmulate</varname> kontrolliert ob die ext/ldap Funktion
  433. <methodname>ldap_rename()</methodname> verwendet werden soll wenn Sie
  434. vorhanden ist. Das kann nur für Blatteinträge und für Server funktionieren
  435. und für ext/ldap welches diese Funktion unterstützt. Wird es auf
  436. <constant>TRUE</constant> gesetzt wird immer die emulierte rename
  437. Operation verwendet.
  438. </entry>
  439. </row>
  440. <row>
  441. <entry>
  442. <code>Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from,
  443. string|Zend_Ldap_Dn $to, boolean $recursively)</code>
  444. </entry>
  445. <entry>
  446. Kopiert den Eintrag der von <varname>$from</varname> bis zu einem Ort
  447. unterhalb von <varname>$to</varname> identifiziert wird und lässt dessen
  448. <acronym>RDN</acronym> unverändert. <varname>$recursively</varname>
  449. spezifiziert ob die Operation rekursiv durchgeführt werden soll
  450. (standardmäßig <constant>FALSE</constant>) so das der Eintrag
  451. <varname>$from</varname> und alle seine Abhängigkeiten kopiert werden.
  452. Das Kopieren wird fehlschlagen wenn <varname>$recursively</varname>
  453. <constant>FALSE</constant> ist und der Eintrag <varname>$from</varname>
  454. kein Blatteintrag ist.
  455. </entry>
  456. </row>
  457. <row>
  458. <entry>
  459. <code>Zend_Ldap copy(string|Zend_Ldap_Dn $from,
  460. string|Zend_Ldap_Dn $to, boolean $recursively)</code>
  461. </entry>
  462. <entry>
  463. Kopiert den Eintrag der von <varname>$from</varname> bis
  464. <varname>$to</varname> identifiziert wird. <varname>$recursively</varname>
  465. spezifiziert ob die Operation rekursiv durchgeführt werden soll
  466. (standardmäßig <constant>FALSE</constant>) so das der Eintrag
  467. <varname>$from</varname> und alle seine Abhängigkeiten kopiert werden.
  468. Das Kopieren wird fehlschlagen wenn <varname>$recursively</varname>
  469. <constant>FALSE</constant> ist und der Eintrag <varname>$from</varname>
  470. kein Blatteintrag ist.
  471. </entry>
  472. </row>
  473. <row>
  474. <entry><code>Zend_Ldap_Node getNode(string|Zend_Ldap_Dn $dn)</code></entry>
  475. <entry>
  476. Gibt den <varname>$dn</varname> Eintrag zurück der in einem
  477. <classname>Zend_Ldap_Node</classname> gewrappt ist.
  478. </entry>
  479. </row>
  480. <row>
  481. <entry><code>Zend_Ldap_Node getBaseNode()</code></entry>
  482. <entry>
  483. Gibt den Eintrag für den Basis DN <varname>$baseDn</varname> zurück
  484. der in einer <classname>Zend_Ldap_Node</classname> gewrappt ist.
  485. </entry>
  486. </row>
  487. <row>
  488. <entry><code>Zend_Ldap_Node_RootDse getRootDse()</code></entry>
  489. <entry>Gibt den RootDSE für den aktuellen Server zurück.</entry>
  490. </row>
  491. <row>
  492. <entry><code>Zend_Ldap_Node_Schema getSchema()</code></entry>
  493. <entry>
  494. Gibt das <acronym>LDAP</acronym> Schema für den aktuellen Server zurück.
  495. </entry>
  496. </row>
  497. </tbody>
  498. </tgroup>
  499. </table>
  500. <sect4 id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection">
  501. <title>Zend_Ldap_Collection</title>
  502. <para>
  503. <classname>Zend_Ldap_Collection</classname> implementiert <code>Iterator</code> um
  504. das Durchlaufen von Einträgen zu erlauben indem <methodname>foreach()</methodname> und
  505. <code>Countable</code> verwendet werden welche in der Lage sind auf
  506. <methodname>count()</methodname> zu Antworten. Mit seiner geschützten
  507. <methodname>_createEntry()</methodname> Methode bietet es einen einfachen Punkt der
  508. Erweiterung für Entwickler welche die Notwendigkeit für eigene Ergebnisobjekte haben.
  509. </para>
  510. <table id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection.table">
  511. <title>API für Zend_Ldap_Collection</title>
  512. <tgroup cols="2">
  513. <thead>
  514. <row>
  515. <entry>Methode</entry>
  516. <entry>Beschreibung</entry>
  517. </row>
  518. </thead>
  519. <tbody>
  520. <row>
  521. <entry>
  522. <code>__construct(Zend_Ldap_Collection_Iterator_Interface
  523. $iterator)</code>
  524. </entry>
  525. <entry>
  526. Constructor. Der Constructor muß von einem
  527. <classname>Zend_Ldap_Collection_Iterator_Interface</classname> angeboten
  528. werden welches die echte Iteration der Resultate durchführt.
  529. <classname>Zend_Ldap_Collection_Iterator_Default</classname> ist die
  530. standardmäßige Implementation für die Interation durch ext/ldap
  531. Ergebnisse.
  532. </entry>
  533. </row>
  534. <row>
  535. <entry><code>boolean close()</code></entry>
  536. <entry>
  537. Schließt den internen Iterator. Wird auch im Destructor aufgerufen.
  538. </entry>
  539. </row>
  540. <row>
  541. <entry><code>array toArray()</code></entry>
  542. <entry>Gibt alle Einträge als Array zurück.</entry>
  543. </row>
  544. <row>
  545. <entry><code>array getFirst()</code></entry>
  546. <entry>
  547. Gibt den ersten Eintrag der Collection zurück, oder
  548. <constant>NULL</constant> wenn die Collection leer ist.
  549. </entry>
  550. </row>
  551. </tbody>
  552. </tgroup>
  553. </table>
  554. </sect4>
  555. </sect3>