Zend_Ldap-API-Ldap.xml 32 KB

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