Zend_Ldap-API-Ldap.xml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.ldap.api.reference.zend-ldap">
  5. <title>Zend_Ldap</title>
  6. <para>
  7. <classname>Zend_Ldap</classname> is the base interface into a <acronym>LDAP</acronym>
  8. server. It provides connection and binding methods as well as methods to operate on the
  9. <acronym>LDAP</acronym> tree.
  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>Method</entry>
  17. <entry>Description</entry>
  18. </row>
  19. </thead>
  20. <tbody>
  21. <row>
  22. <entry>
  23. <code>string filterEscape(string $str)</code>
  24. </entry>
  25. <entry>
  26. Escapes a value to be used in a <acronym>LDAP</acronym> filter according to
  27. RFC 2254. This method is <emphasis>deprecated</emphasis>, please use
  28. <methodname>Zend_Ldap_Filter_Abstract::escapeValue()</methodname>
  29. instead.
  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. Checks if a given DN <varname>$dn</varname> is malformed. If
  38. <varname>$keys</varname> or <varname>$keys</varname> and <varname>$vals</varname> are
  39. given, these arrays will be filled with the appropriate DN keys and
  40. values. This method is <emphasis>deprecated</emphasis>, please use
  41. <methodname>Zend_Ldap_Dn::checkDn()</methodname> instead.
  42. </entry>
  43. </row>
  44. <row>
  45. <entry><code>__construct($options)</code></entry>
  46. <entry>
  47. Constructor. The <varname>$options</varname> parameter is optional
  48. and can be set to an array or a <classname>Zend_Config</classname> instance.
  49. If no options are provided at instantiation, the connection
  50. parameters must be passed to the instance using
  51. <methodname>Zend_Ldap::setOptions()</methodname>. The allowed options are
  52. specified in <link
  53. linkend="zend.ldap.api.configuration.table">Zend_Ldap
  54. Options</link>
  55. </entry>
  56. </row>
  57. <row>
  58. <entry><code>resource getResource()</code></entry>
  59. <entry>Returns the raw <acronym>LDAP</acronym> extension (ext/ldap) resource.</entry>
  60. </row>
  61. <row>
  62. <entry><code>integer getLastErrorCode()</code></entry>
  63. <entry>
  64. Returns the <acronym>LDAP</acronym> error number of the last LDAP
  65. command.
  66. </entry>
  67. </row>
  68. <row>
  69. <entry>
  70. <code>string getLastError(integer &amp;$errorCode, array &amp;$errorMessages)</code>
  71. </entry>
  72. <entry>
  73. Returns the <acronym>LDAP</acronym> error message of the last <acronym>LDAP</acronym> command. The
  74. optional <varname>$errorCode</varname> parameter is set to the <acronym>LDAP</acronym> error
  75. number when given. The optional <varname>$errorMessages</varname> array
  76. will be filled with the raw error messages when given. The various
  77. <acronym>LDAP</acronym> error retrieval functions can return different things, so they
  78. are all collected if <varname>$errorMessages</varname> is given.
  79. </entry>
  80. </row>
  81. <row>
  82. <entry><code>Zend_Ldap setOptions($options)</code></entry>
  83. <entry>
  84. Sets the <acronym>LDAP</acronym> connection and binding parameters.
  85. <varname>$options</varname> can be an array or an instance of
  86. <classname>Zend_Config</classname>. The allowed options are specified in
  87. <link
  88. linkend="zend.ldap.api.configuration.table">Zend_Ldap Options</link>
  89. </entry>
  90. </row>
  91. <row>
  92. <entry><code>array getOptions()</code></entry>
  93. <entry>
  94. Returns the current connection and binding
  95. parameters.
  96. </entry>
  97. </row>
  98. <row>
  99. <entry><code>string getBaseDn()</code></entry>
  100. <entry>
  101. Returns the base DN this <acronym>LDAP</acronym> connection is bound
  102. to.
  103. </entry>
  104. </row>
  105. <row>
  106. <entry>
  107. <code>string getCanonicalAccountName(string $acctname, integer $form)</code>
  108. </entry>
  109. <entry>
  110. Returns the canonical account name of the given account name
  111. <varname>$acctname</varname>. <varname>$form</varname> specifies the <link
  112. linkend="zend.ldap.using.theory-of-operation.account-name-canonicalization.table">format</link>
  113. into which the account name is canonicalized. See <link
  114. linkend="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">Account Name Canonicalization</link>
  115. for more details.
  116. </entry>
  117. </row>
  118. <row>
  119. <entry><code>Zend_Ldap disconnect()</code></entry>
  120. <entry>
  121. Disconnects the Zend_Ldap instance from the LDAP
  122. server.
  123. </entry>
  124. </row>
  125. <row>
  126. <entry>
  127. <code>Zend_Ldap connect(string $host, integer $port, boolean $useSsl, boolean $useStartTls)</code>
  128. </entry>
  129. <entry>
  130. Connects the Zend_Ldap instance to the given <acronym>LDAP</acronym> server.
  131. All parameters are optional and will be taken from the LDAP
  132. connection and binding parameters passed to the instance via the
  133. construtor or via <methodname>Zend_Ldap::setOptions()</methodname> when set to
  134. <constant>NULL</constant>.
  135. </entry>
  136. </row>
  137. <row>
  138. <entry>
  139. <code>Zend_Ldap bind(string $username, string $password)</code>
  140. </entry>
  141. <entry>
  142. Authenticates <varname>$username</varname> with
  143. <varname>$password</varname> at the <acronym>LDAP</acronym> server. If both paramaters are
  144. omitted the binding will be carried out with the credentials given
  145. in the connection and binding parameters. If no credentials are
  146. given in the connection and binding parameters an anonymous bind
  147. will be performed. Note that this requires anonymous binds to be
  148. allowed on the <acronym>LDAP</acronym> server. An empty string <code>''</code> can be
  149. passed as <varname>$password</varname> together with a username if, and
  150. only if, <code>allowEmptyPassword</code> is set to
  151. <constant>TRUE</constant> in the connection and binding parameters.
  152. </entry>
  153. </row>
  154. <row>
  155. <entry>
  156. <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>
  157. </entry>
  158. <entry>
  159. Searches the <acronym>LDAP</acronym> tree with the given <varname>$filter</varname>
  160. and the given search parameters.
  161. <variablelist>
  162. <varlistentry>
  163. <term><code>string|Zend_Ldap_Filter_Abstract
  164. $filter</code></term>
  165. <listitem>
  166. <para>
  167. The filter string to be used in the search, e.g.
  168. <code>(objectClass=posixAccount)</code>.
  169. </para>
  170. </listitem>
  171. </varlistentry>
  172. <varlistentry>
  173. <term><code>string|Zend_Ldap_Dn $basedn</code></term>
  174. <listitem>
  175. <para>
  176. The search base for the search. If omitted or
  177. <constant>NULL</constant>, the <code>baseDn</code> from the
  178. connection and binding parameters is used.
  179. </para>
  180. </listitem>
  181. </varlistentry>
  182. <varlistentry>
  183. <term><code>integer $scope</code></term>
  184. <listitem>
  185. <para>
  186. The search scope.
  187. <constant>Zend_Ldap::SEARCH_SCOPE_SUB</constant> searches the
  188. complete subtree including the <varname>$baseDn</varname> node.
  189. <constant>Zend_Ldap::SEARCH_SCOPE_ONE</constant> restricts search
  190. to one level below <varname>$baseDn</varname>.
  191. <constant>Zend_Ldap::SEARCH_SCOPE_BASE</constant> restricts search
  192. to the <varname>$baseDn</varname> itself; this can be used to
  193. efficiently retrieve a single entry by its DN. The default
  194. value is
  195. <constant>Zend_Ldap::SEARCH_SCOPE_SUB</constant>.
  196. </para>
  197. </listitem>
  198. </varlistentry>
  199. <varlistentry>
  200. <term><code>array $attributes</code></term>
  201. <listitem>
  202. <para>
  203. Specifies the attributes contained in the
  204. returned entries. To include all possible attributes (ACL
  205. restrictions can disallow certain attribute to be retrieved
  206. by a given user) pass either an empty array
  207. <methodname>array()</methodname> or <code>array('*')</code> to the
  208. method. On some <acronym>LDAP</acronym> servers you can retrieve special
  209. internal attributes by passing <code>array('*', '+')</code>
  210. to the method.
  211. </para>
  212. </listitem>
  213. </varlistentry>
  214. <varlistentry>
  215. <term><code>string $sort</code></term>
  216. <listitem>
  217. <para>
  218. If given the result collection will be sorted
  219. after the attribute <varname>$sort</varname>. Results can only be
  220. sorted after one single attribute as this parameter uses
  221. the ext/ldap function <methodname>ldap_sort()</methodname>.
  222. </para>
  223. </listitem>
  224. </varlistentry>
  225. <varlistentry>
  226. <term><code>string $collectionClass</code></term>
  227. <listitem>
  228. <para>
  229. If given the result will be wrapped in an object
  230. of type <varname>$collectionClass</varname>. By default an object
  231. of type <classname>Zend_Ldap_Collection</classname> will be returned.
  232. The custom class must extend
  233. <classname>Zend_Ldap_Collection</classname> and will be passed a
  234. <classname>Zend_Ldap_Collection_Iterator_Default</classname> on
  235. instantiation.
  236. </para>
  237. </listitem>
  238. </varlistentry>
  239. </variablelist>
  240. </entry>
  241. </row>
  242. <row>
  243. <entry>
  244. <code>integer count(string|Zend_Ldap_Filter_Abstract
  245. $filter, string|Zend_Ldap_Dn $basedn, integer
  246. $scope)</code>
  247. </entry>
  248. <entry>
  249. Counts the elements returned by the given search parameters.
  250. See <methodname>Zend_Ldap::search()</methodname> for a detailed description of
  251. the method parameters.
  252. </entry>
  253. </row>
  254. <row>
  255. <entry>
  256. <code>integer countChildren(string|Zend_Ldap_Dn
  257. $dn)</code>
  258. </entry>
  259. <entry>
  260. Counts the direct descendants (children) of the entry
  261. identified by the given <varname>$dn</varname>.
  262. </entry>
  263. </row>
  264. <row>
  265. <entry><code>boolean exists(string|Zend_Ldap_Dn $dn)</code></entry>
  266. <entry>
  267. Checks whether the entry identified by the given
  268. <varname>$dn</varname> exists.
  269. </entry>
  270. </row>
  271. <row>
  272. <entry>
  273. <code>array searchEntries(string|Zend_Ldap_Filter_Abstract
  274. $filter, string|Zend_Ldap_Dn $basedn, integer $scope, array
  275. $attributes, string $sort)</code>
  276. </entry>
  277. <entry>
  278. Performs a search operation and returns the result as an PHP
  279. array. This is essentially the same method as
  280. <methodname>Zend_Ldap::search()</methodname> except for the return type. See
  281. <methodname>Zend_Ldap::search()</methodname> for a detailed description of the
  282. method parameters.
  283. </entry>
  284. </row>
  285. <row>
  286. <entry>
  287. <code>array getEntry(string|Zend_Ldap_Dn $dn, array
  288. $attributes, boolean $throwOnNotFound)</code>
  289. </entry>
  290. <entry>
  291. Retrieves the <acronym>LDAP</acronym> entry identified by <varname>$dn</varname> with
  292. the attributes specified in <varname>$attributes</varname>. If
  293. <varname>$attributes</varname> is ommitted, all attributes
  294. (<methodname>array()</methodname>) are included in the result.
  295. <varname>$throwOnNotFound</varname> is <constant>FALSE</constant> by default, so
  296. the method will return <constant>NULL</constant> if the specified entry
  297. cannot be found. If set to <constant>TRUE</constant>, a
  298. <classname>Zend_Ldap_Exception</classname> will be thrown instead.
  299. </entry>
  300. </row>
  301. <row>
  302. <entry>
  303. <emphasis><code>void prepareLdapEntryArray(array
  304. &amp;$entry)</code> </emphasis>
  305. </entry>
  306. <entry>
  307. Prepare an array for the use in <acronym>LDAP</acronym> modification
  308. operations. This method does not need to be called by the end-user
  309. as it's implicitly called on every data modification
  310. method.
  311. </entry>
  312. </row>
  313. <row>
  314. <entry>
  315. <code>Zend_Ldap add(string|Zend_Ldap_Dn $dn, array
  316. $entry)</code>
  317. </entry>
  318. <entry>
  319. Adds the entry identified by <varname>$dn</varname> with its
  320. attributes <varname>$entry</varname> to the <acronym>LDAP</acronym> tree. Throws a
  321. <classname>Zend_Ldap_Exception</classname> if the entry could not be
  322. added.
  323. </entry>
  324. </row>
  325. <row>
  326. <entry>
  327. <code>Zend_Ldap update(string|Zend_Ldap_Dn $dn, array
  328. $entry)</code>
  329. </entry>
  330. <entry>
  331. Updates the entry identified by <varname>$dn</varname> with its
  332. attributes <varname>$entry</varname> to the <acronym>LDAP</acronym> tree. Throws a
  333. <classname>Zend_Ldap_Exception</classname> if the entry could not be
  334. modified.
  335. </entry>
  336. </row>
  337. <row>
  338. <entry>
  339. <code>Zend_Ldap save(string|Zend_Ldap_Dn $dn, array
  340. $entry)</code>
  341. </entry>
  342. <entry>
  343. Saves the entry identified by <varname>$dn</varname> with its
  344. attributes <varname>$entry</varname> to the <acronym>LDAP</acronym> tree. Throws a
  345. <classname>Zend_Ldap_Exception</classname> if the entry could not be saved.
  346. This method decides by querying the <acronym>LDAP</acronym> tree if the entry will be
  347. added or updated.
  348. </entry>
  349. </row>
  350. <row>
  351. <entry>
  352. <code>Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean
  353. $recursively)</code>
  354. </entry>
  355. <entry>
  356. Deletes the entry identified by <varname>$dn</varname> from the
  357. <acronym>LDAP</acronym> tree. Throws a <classname>Zend_Ldap_Exception</classname> if the entry
  358. could not be deleted. <varname>$recursively</varname> is
  359. <constant>FALSE</constant> by default. If set to <constant>TRUE</constant> the
  360. deletion will be carried out recursively and will effectively
  361. delete a complete subtree. Deletion will fail if
  362. <varname>$recursively</varname> is <constant>FALSE</constant> and the entry
  363. <varname>$dn</varname> is not a leaf entry.
  364. </entry>
  365. </row>
  366. <row>
  367. <entry>
  368. <code>Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from,
  369. string|Zend_Ldap_Dn $to, boolean $recursively, boolean
  370. $alwaysEmulate)</code>
  371. </entry>
  372. <entry>
  373. Moves the entry identified by <varname>$from</varname> to a
  374. location below <varname>$to</varname> keeping its <acronym>RDN</acronym> unchanged.
  375. <varname>$recursively</varname> specifies if the operation will be
  376. carried out recursively (<constant>FALSE</constant> by default) so that the
  377. entry <varname>$from</varname> and all its descendants will be moved.
  378. Moving will fail if <varname>$recursively</varname> is <constant>FALSE</constant>
  379. and the entry <varname>$from</varname> is not a leaf entry.
  380. <varname>$alwaysEmulate</varname> controls whether the ext/ldap function
  381. <methodname>ldap_rename()</methodname> should be used if available. This can
  382. only work for leaf entries and for servers and for ext/ldap
  383. supporting this function. Set to <constant>TRUE</constant> to always use an
  384. emulated rename operation.
  385. <note>
  386. <para>All move-operations are carried out by copying and then
  387. deleting the corresponding entries in the <acronym>LDAP</acronym> tree. These
  388. operations are not <emphasis>atomic</emphasis> so that failures
  389. during the operation will result in an
  390. <emphasis>inconsistent</emphasis> state on the <acronym>LDAP</acronym> server. The
  391. same is true for all recursive operations. They also are by no
  392. means atomic. Please keep this in mind.
  393. </para>
  394. </note></entry>
  395. </row>
  396. <row>
  397. <entry>
  398. <code>Zend_Ldap move(string|Zend_Ldap_Dn $from,
  399. string|Zend_Ldap_Dn $to, boolean $recursively, boolean
  400. $alwaysEmulate)</code>
  401. </entry>
  402. <entry>
  403. Das ist ein Alias für <methodname>Zend_Ldap::rename()</methodname>.
  404. </entry>
  405. </row>
  406. <row>
  407. <entry>
  408. <code>Zend_Ldap rename(string|Zend_Ldap_Dn $from,
  409. string|Zend_Ldap_Dn $to, boolean $recursively, boolean
  410. $alwaysEmulate)</code>
  411. </entry>
  412. <entry>
  413. Benennt den Eintrag der von <varname>$from</varname> bis
  414. <varname>$to</varname> identifiziert wird um.
  415. <varname>$recursively</varname> spezifiziert ob die Operation rekursiv
  416. durchgeführt werden soll (standardmäßig <constant>FALSE</constant>) so das
  417. der Eintrag <varname>$from</varname> und alle seine Abhängigkeiten
  418. verschoben werden. Das Umbenennen wird fehlschlagen wenn
  419. <varname>$recursively</varname> <constant>FALSE</constant> ist und der
  420. Eintrag <varname>$from</varname> kein Blatteintrag ist.
  421. <varname>$alwaysEmulate</varname> kontrolliert ob die ext/ldap Funktion
  422. <methodname>ldap_rename()</methodname> verwendet werden soll wenn Sie
  423. vorhanden ist. Das kann nur für Blatteinträge und für Server funktionieren
  424. und für ext/ldap welches diese Funktion unterstützt. Wird es auf
  425. <constant>TRUE</constant> gesetzt wird immer die emulierte rename
  426. Operation verwendet.
  427. </entry>
  428. </row>
  429. <row>
  430. <entry>
  431. <code>Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from,
  432. string|Zend_Ldap_Dn $to, boolean $recursively)</code>
  433. </entry>
  434. <entry>
  435. Kopiert den Eintrag der von <varname>$from</varname> bis zu einem Ort
  436. unterhalb von <varname>$to</varname> identifiziert wird und lässt dessen
  437. <acronym>RDN</acronym> unverändert. <varname>$recursively</varname>
  438. spezifiziert ob die Operation rekursiv durchgeführt werden soll
  439. (standardmäßig <constant>FALSE</constant>) so das der Eintrag
  440. <varname>$from</varname> und alle seine Abhängigkeiten kopiert werden.
  441. Das Kopieren wird fehlschlagen wenn <varname>$recursively</varname>
  442. <constant>FALSE</constant> ist und der Eintrag <varname>$from</varname>
  443. kein Blatteintrag ist.
  444. </entry>
  445. </row>
  446. <row>
  447. <entry>
  448. <code>Zend_Ldap copy(string|Zend_Ldap_Dn $from,
  449. string|Zend_Ldap_Dn $to, boolean $recursively)</code>
  450. </entry>
  451. <entry>
  452. Kopiert den Eintrag der von <varname>$from</varname> bis
  453. <varname>$to</varname> identifiziert wird. <varname>$recursively</varname>
  454. spezifiziert ob die Operation rekursiv durchgeführt werden soll
  455. (standardmäßig <constant>FALSE</constant>) so das der Eintrag
  456. <varname>$from</varname> und alle seine Abhängigkeiten kopiert werden.
  457. Das Kopieren wird fehlschlagen wenn <varname>$recursively</varname>
  458. <constant>FALSE</constant> ist und der Eintrag <varname>$from</varname>
  459. kein Blatteintrag ist.
  460. </entry>
  461. </row>
  462. <row>
  463. <entry>
  464. <code>Zend_Ldap_Node getNode(string|Zend_Ldap_Dn
  465. $dn)</code>
  466. </entry>
  467. <entry>
  468. Gibt den <varname>$dn</varname> Eintrag zurück der in einem
  469. <classname>Zend_Ldap_Node</classname> gewrappt ist.
  470. </entry>
  471. </row>
  472. <row>
  473. <entry><code>Zend_Ldap_Node getBaseNode()</code></entry>
  474. <entry>
  475. Gibt den Eintrag für den Basis DN <varname>$baseDn</varname> zurück
  476. der in einer <classname>Zend_Ldap_Node</classname> gewrappt ist.
  477. </entry>
  478. </row>
  479. <row>
  480. <entry><code>Zend_Ldap_Node_RootDse getRootDse()</code></entry>
  481. <entry>Gibt den RootDSE für den aktuellen Server zurück.</entry>
  482. </row>
  483. <row>
  484. <entry><code>Zend_Ldap_Node_Schema getSchema()</code></entry>
  485. <entry>
  486. Gibt das <acronym>LDAP</acronym> Schema für den aktuellen Server zurück.
  487. </entry>
  488. </row>
  489. </tbody>
  490. </tgroup>
  491. </table>
  492. <sect4 id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection">
  493. <title>Zend_Ldap_Collection</title>
  494. <para>
  495. <classname>Zend_Ldap_Collection</classname> implementiert <code>Iterator</code> um
  496. das Durchlaufen von Einträgen zu erlauben indem <methodname>foreach()</methodname> und
  497. <code>Countable</code> verwendet werden welche in der Lage sind auf
  498. <methodname>count()</methodname> zu Antworten. Mit seiner geschützten <methodname>_createEntry()</methodname>
  499. Methode bietet es einen einfachen Punkt der Erweiterung für Entwickler welche die
  500. Notwendigkeit für eigene Ergebnisobjekte haben.
  501. </para>
  502. <table id="zend.ldap.api.reference.zend-ldap.zend-ldap-collection.table">
  503. <title>API für Zend_Ldap_Collection</title>
  504. <tgroup cols="2">
  505. <thead>
  506. <row>
  507. <entry>Methode</entry>
  508. <entry>Beschreibung</entry>
  509. </row>
  510. </thead>
  511. <tbody>
  512. <row>
  513. <entry>
  514. <code>__construct(Zend_Ldap_Collection_Iterator_Interface
  515. $iterator)</code>
  516. </entry>
  517. <entry>
  518. Constructor. Der Constructor muß von einem
  519. <classname>Zend_Ldap_Collection_Iterator_Interface</classname> angeboten
  520. werden welches die echte Iteration der Resultate durchführt.
  521. <classname>Zend_Ldap_Collection_Iterator_Default</classname> ist die
  522. standardmäßige Implementation für die Interation durch ext/ldap Ergebnisse.
  523. </entry>
  524. </row>
  525. <row>
  526. <entry><code>boolean close()</code></entry>
  527. <entry>
  528. Schließt den internen Iterator. Wird auch im Destructor aufgerufen.
  529. </entry>
  530. </row>
  531. <row>
  532. <entry><code>array toArray()</code></entry>
  533. <entry>Gibt alle Einträge als Array zurück.</entry>
  534. </row>
  535. <row>
  536. <entry><code>array getFirst()</code></entry>
  537. <entry>
  538. Gibt den ersten Eintrag der Collection zurück, oder <constant>NULL</constant> wenn
  539. die Collection leer ist.
  540. </entry>
  541. </row>
  542. </tbody></tgroup>
  543. </table>
  544. </sect4>
  545. </sect3>