Zend_CodeGenerator-Reference.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 20765 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.codegenerator.reference">
  5. <title>Zend_CodeGenerator Referenz</title>
  6. <sect2 id="zend.codegenerator.reference.abstracts">
  7. <title>Abstrakte Klassen und Interfaces</title>
  8. <sect3 id="zend.codegenerator.reference.abstracts.abstract">
  9. <title>Zend_CodeGenerator_Abstract</title>
  10. <para>
  11. Die Basisklasse von der alle CodeGenerator Klassen abgeleitet sind
  12. und die
  13. minimal notwendige Funktionalität anbietet. Dessen
  14. <acronym>API</acronym>
  15. ist wie
  16. folgt:
  17. </para>
  18. <programlisting language="php"><![CDATA[
  19. abstract class Zend_CodeGenerator_Abstract
  20. {
  21. final public function __construct(Array $options = array())
  22. public function setOptions(Array $options)
  23. public function setSourceContent($sourceContent)
  24. public function getSourceContent()
  25. protected function _init()
  26. protected function _prepare()
  27. abstract public function generate();
  28. final public function __toString()
  29. }
  30. ]]></programlisting>
  31. <para>
  32. Der Constructor ruft zuerst
  33. <methodname>_init()</methodname>
  34. auf (welches für eine
  35. konkrete erweiterte Klasse für die Implementation leer gelassen ist),
  36. übergibt dann
  37. den
  38. <varname>$options</varname>
  39. Parameter an
  40. <methodname>setOptions()</methodname>
  41. und ruft zuletzt
  42. <methodname>_prepare()</methodname>
  43. auf (welches auch von der
  44. erweiternden Klasse implementiert werden muß).
  45. </para>
  46. <para>
  47. Wie die meisten Klassen im Zend Framework, vergleicht
  48. <methodname>setOptions()</methodname>
  49. den Schlüssel einer Option mit den in der
  50. Klasse existierenden Settern, und übergibt den Wert an die gefundene
  51. Methode.
  52. </para>
  53. <para>
  54. <methodname>__toString()</methodname>
  55. ist als final markiert, und leitet auf
  56. <methodname>generate()</methodname>
  57. weiter.
  58. </para>
  59. <para>
  60. <methodname>setSourceContent()</methodname>
  61. und
  62. <methodname>getSourceContent()</methodname>
  63. sind dazu vergesehen entweder den
  64. Standardinhalt für den zu erzeugenden Code zu setzen, oder um gesetzte Inhalte zu
  65. ersetzen sobald alle Arbeiten der Erzeugung beendet wurden.
  66. </para>
  67. </sect3>
  68. <sect3 id="zend.codegenerator.reference.abstracts.php-abstract">
  69. <title>Zend_CodeGenerator_Php_Abstract</title>
  70. <para>
  71. <classname>Zend_CodeGenerator_Php_Abstract</classname>
  72. erweitert
  73. <classname>Zend_CodeGenerator_Abstract</classname>
  74. , und fügt einige Eigenschaften
  75. hinzu für das Verfolgen ob Inhalte geändert wurden sowie der Anzahl an
  76. Einrückungen
  77. die vorhanden sein sollten bevor Inhalte erzeugt werden. Die
  78. <acronym>API</acronym>
  79. ist wie folgt:
  80. </para>
  81. <programlisting language="php"><![CDATA[
  82. abstract class Zend_CodeGenerator_Php_Abstract
  83. extends Zend_CodeGenerator_Abstract
  84. {
  85. public function setSourceDirty($isSourceDirty = true)
  86. public function isSourceDirty()
  87. public function setIndentation($indentation)
  88. public function getIndentation()
  89. }
  90. ]]></programlisting>
  91. </sect3>
  92. <sect3 id="zend.codegenerator.reference.abstracts.php-member-abstract">
  93. <title>Zend_CodeGenerator_Php_Member_Abstract</title>
  94. <para>
  95. <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
  96. ist eine Basisklasse
  97. für die Erstellung von Klassen-Member -- Eigenschaften und Methoden --
  98. und bietet
  99. Zugriffs- und Änderungsmethoden für die Ausführung der Sichtbarkeit; ob ein
  100. Member Abstrakt, Statisch, oder Final ist; und der Name des Members.
  101. Die
  102. <acronym>API</acronym>
  103. ist wie folgt:
  104. </para>
  105. <programlisting language="php"><![CDATA[
  106. abstract class Zend_CodeGenerator_Php_Member_Abstract
  107. extends Zend_CodeGenerator_Php_Abstract
  108. {
  109. public function setAbstract($isAbstract)
  110. public function isAbstract()
  111. public function setStatic($isStatic)
  112. public function isStatic()
  113. public function setVisibility($visibility)
  114. public function getVisibility()
  115. public function setName($name)
  116. public function getName()
  117. }
  118. ]]></programlisting>
  119. </sect3>
  120. </sect2>
  121. <sect2 id="zend.codegenerator.reference.concrete">
  122. <title>Konkrete CodeGenerator Klassen</title>
  123. <sect3 id="zend.codegenerator.reference.concrete.php-body">
  124. <title>Zend_CodeGenerator_Php_Body</title>
  125. <para>
  126. <classname>Zend_CodeGenerator_Php_Body</classname>
  127. ist dazu gedacht generellen
  128. prozeduralen Code in einer Datei einzufügen. Als solches kann man einfach den
  129. Inhalt
  130. für das Objekt setzen, und es wird den Inhalt zurückgeben wenn man
  131. <methodname>generate()</methodname>
  132. aufruft.
  133. </para>
  134. <para>
  135. Die
  136. <acronym>API</acronym>
  137. der Klasse ist wie folgt:
  138. </para>
  139. <programlisting language="php"><![CDATA[
  140. class Zend_CodeGenerator_Php_Body extends Zend_CodeGenerator_Php_Abstract
  141. {
  142. public function setContent($content)
  143. public function getContent()
  144. public function generate()
  145. }
  146. ]]></programlisting>
  147. </sect3>
  148. <sect3 id="zend.codegenerator.reference.concrete.php-class">
  149. <title>Zend_CodeGenerator_Php_Class</title>
  150. <para>
  151. <classname>Zend_CodeGenerator_Php_Class</classname>
  152. ist für die Erstellung von
  153. <acronym>PHP</acronym>
  154. Klassen gedacht. Die Basisfunktionalität ist nur die
  155. Erstellung der
  156. <acronym>PHP</acronym>
  157. Klasse selbst, sowie optional den
  158. betreffenden
  159. <acronym>PHP</acronym>
  160. DocBlock. Klassen können von anderen Klassen
  161. abgeleitet sein, oder diese Implementieren, und können als Abstrakt markiert
  162. sein. Bei Verwendung von anderen CodeGenerator Klassen kann man auch
  163. Klassenkonstanten, Eigenschaften und Methoden hinzufügen.
  164. </para>
  165. <para>
  166. Die
  167. <acronym>API</acronym>
  168. ist wie folgt:
  169. </para>
  170. <programlisting language="php"><![CDATA[
  171. class Zend_CodeGenerator_Php_Class extends Zend_CodeGenerator_Php_Abstract
  172. {
  173. public static function fromReflection(
  174. Zend_Reflection_Class $reflectionClass
  175. )
  176. public function setDocblock(Zend_CodeGenerator_Php_Docblock $docblock)
  177. public function getDocblock()
  178. public function setName($name)
  179. public function getName()
  180. public function setAbstract($isAbstract)
  181. public function isAbstract()
  182. public function setExtendedClass($extendedClass)
  183. public function getExtendedClass()
  184. public function setImplementedInterfaces(Array $implementedInterfaces)
  185. public function getImplementedInterfaces()
  186. public function setProperties(Array $properties)
  187. public function setProperty($property)
  188. public function getProperties()
  189. public function getProperty($propertyName)
  190. public function setMethods(Array $methods)
  191. public function setMethod($method)
  192. public function getMethods()
  193. public function getMethod($methodName)
  194. public function hasMethod($methodName)
  195. public function isSourceDirty()
  196. public function generate()
  197. }
  198. ]]></programlisting>
  199. <para>
  200. Die
  201. <methodname>setProperty()</methodname>
  202. Methode akzeptiert ein Array von
  203. Informationen, die verwendet werden können um eine Instanz von
  204. <classname>Zend_CodeGenerator_Php_Property</classname>
  205. zu erstellen -- oder einfach
  206. eine Instanz von
  207. <classname>Zend_CodeGenerator_Php_Property</classname>
  208. selbst.
  209. Genauso akzeptiert
  210. <methodname>setMethod()</methodname>
  211. entweder ein Array von
  212. Information für die Erstellung einer
  213. <classname>Zend_CodeGenerator_Php_Method</classname>
  214. Instanz oder eine konkrete
  215. Instanz dieser Klasse.
  216. </para>
  217. <para>
  218. Beachte das
  219. <methodname>setDocBlock()</methodname>
  220. eine Instanz von
  221. <classname>Zend_CodeGenerator_Php_DocBlock</classname>
  222. erwartet.
  223. </para>
  224. </sect3>
  225. <sect3 id="zend.codegenerator.reference.concrete.php-docblock">
  226. <title>Zend_CodeGenerator_Php_Docblock</title>
  227. <para>
  228. <classname>Zend_CodeGenerator_Php_Docblock</classname>
  229. kann verwendet werden um
  230. <acronym>PHP</acronym>
  231. DocBlocks zu erstellen, inklusive aller standardmäßigen
  232. DocBlock Features: Kurz- und Langbeschreibung sowie zusätzliche Tags.
  233. </para>
  234. <para>
  235. Zusätzliche Tags können durch Verwendung der
  236. <methodname>setTag()</methodname>
  237. und
  238. <methodname>setTags()</methodname>
  239. Methoden gesetzt werden; diese nehmen entweder
  240. ein Array an dass das Tag beschreibt das an den
  241. <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname>
  242. Contructor übergeben
  243. wird, oder eine Instanz dieser Klasse selbst.
  244. </para>
  245. <para>
  246. Die
  247. <acronym>API</acronym>
  248. ist wie folgt:
  249. </para>
  250. <programlisting language="php"><![CDATA[
  251. class Zend_CodeGenerator_Php_Docblock extends Zend_CodeGenerator_Php_Abstract
  252. {
  253. public static function fromReflection(
  254. Zend_Reflection_Docblock $reflectionDocblock
  255. )
  256. public function setShortDescription($shortDescription)
  257. public function getShortDescription()
  258. public function setLongDescription($longDescription)
  259. public function getLongDescription()
  260. public function setTags(Array $tags)
  261. public function setTag($tag)
  262. public function getTags()
  263. public function generate()
  264. }
  265. ]]></programlisting>
  266. </sect3>
  267. <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag">
  268. <title>Zend_CodeGenerator_Php_Docblock_Tag</title>
  269. <para>
  270. <classname>Zend_CodeGenerator_Php_Docblock_Tag</classname>
  271. ist für die Erstellung
  272. von eigenen Tags, zum Einfügen in
  273. <acronym>PHP</acronym>
  274. DocBlocks, gedacht. Von
  275. Tags wird erwartet das Sie einen Namen enthalten (Der Teil der
  276. unmittelbar dem '@'
  277. Symbol folgt) und eine Beschreibung (alles das dem Tag Namen folgt).
  278. </para>
  279. <para>
  280. Die
  281. <acronym>API</acronym>
  282. der Klasse ist wie folgt:
  283. </para>
  284. <programlisting language="php"><![CDATA[
  285. class Zend_CodeGenerator_Php_Docblock_Tag
  286. extends Zend_CodeGenerator_Php_Abstract
  287. {
  288. public static function fromReflection(
  289. Zend_Reflection_Docblock_Tag $reflectionTag
  290. )
  291. public function setName($name)
  292. public function getName()
  293. public function setDescription($description)
  294. public function getDescription()
  295. public function generate()
  296. }
  297. ]]></programlisting>
  298. </sect3>
  299. <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-param">
  300. <title>Zend_CodeGenerator_Php_DocBlock_Tag_Param</title>
  301. <para>
  302. <classname>Zend_CodeGenerator_Php_DocBlock_Tag_Param</classname>
  303. ist eine spezielle
  304. Version von
  305. <classname>Zend_CodeGenerator_Php_DocBlock_Tag</classname>
  306. , und
  307. repräsentiert einen Parameter einer Methode. Das TagName ist hierbei bekannt
  308. ("param"), aber durch die Form des Tags, werden zusätzliche
  309. Informationen benötigt
  310. um Ihn zu erzeugen: den Namen des Parameter und den Datentyp den
  311. dieser
  312. repräsentiert.
  313. </para>
  314. <para>
  315. Die
  316. <acronym>API</acronym>
  317. dieser Klasse ist wie folgt:
  318. </para>
  319. <programlisting language="php"><![CDATA[
  320. class Zend_CodeGenerator_Php_Docblock_Tag_Param
  321. extends Zend_CodeGenerator_Php_Docblock_Tag
  322. {
  323. public static function fromReflection(
  324. Zend_Reflection_Docblock_Tag $reflectionTagParam
  325. )
  326. public function setDatatype($datatype)
  327. public function getDatatype()
  328. public function setParamName($paramName)
  329. public function getParamName()
  330. public function generate()
  331. }
  332. ]]></programlisting>
  333. </sect3>
  334. <sect3 id="zend.codegenerator.reference.concrete.php-docblock-tag-return">
  335. <title>Zend_CodeGenerator_Php_DocBlock_Tag_Return</title>
  336. <para>
  337. Wie die Variante des Param DocBlock Tags ist
  338. <classname>Zend_CodeGenerator_Php_Docblock_Tab_Return</classname>
  339. eine Variante
  340. eines Tags für die Darstellung eines Rückgabewerts einer Methode. In
  341. diesem Fall ist
  342. der Name des Tags bekannt ("return"), aber es benötigt einen
  343. Rückgabetyp.
  344. </para>
  345. <para>
  346. Die
  347. <acronym>API</acronym>
  348. der Klasse ist wie folgt:
  349. </para>
  350. <programlisting language="php"><![CDATA[
  351. class Zend_CodeGenerator_Php_Docblock_Tag_Param
  352. extends Zend_CodeGenerator_Php_Docblock_Tag
  353. {
  354. public static function fromReflection(
  355. Zend_Reflection_Docblock_Tag $reflectionTagReturn
  356. )
  357. public function setDatatype($datatype)
  358. public function getDatatype()
  359. public function generate()
  360. }
  361. ]]></programlisting>
  362. </sect3>
  363. <sect3 id="zend.codegenerator.reference.concrete.php-file">
  364. <title>Zend_CodeGenerator_Php_File</title>
  365. <para>
  366. <classname>Zend_CodeGenerator_Php_File</classname>
  367. wird verwendet um den kompletten
  368. Inhalt einer Datei zu erstellen die
  369. <acronym>PHP</acronym>
  370. Code enthalten wird. Die
  371. Datei kann Klassen oder eigenen
  372. <acronym>PHP</acronym>
  373. Code enthalten, und wenn
  374. gewünscht einen Datei-Level Docblock.
  375. </para>
  376. <para>
  377. Wenn der Datei Klassen hinzugefügt werden, muß man entweder ein
  378. Array von
  379. Informationen übergeben die an den Constructor von
  380. <classname>Zend_CodeGenerator_Php_Class</classname>
  381. übergeben werden, oder eine
  382. Instanz dieser Klasse. Genau wie bei den DocBlocks, muß man Informationen
  383. für den
  384. Constructor von
  385. <classname>Zend_CodeGenerator_Php_Docblock</classname>
  386. übergeben die
  387. verwendet werden, oder eine Instanz dieser Klasse.
  388. </para>
  389. <para>
  390. Die
  391. <acronym>API</acronym>
  392. der Klasse ist wie folgt:
  393. </para>
  394. <programlisting language="php"><![CDATA[
  395. class Zend_CodeGenerator_Php_File extends Zend_CodeGenerator_Php_Abstract
  396. {
  397. public static function fromReflectedFilePath(
  398. $filePath,
  399. $usePreviousCodeGeneratorIfItExists = true,
  400. $includeIfNotAlreadyIncluded = true)
  401. public static function fromReflection(Zend_Reflection_File $reflectionFile)
  402. public function setDocblock(Zend_CodeGenerator_Php_Docblock $docblock)
  403. public function getDocblock()
  404. public function setRequiredFiles($requiredFiles)
  405. public function getRequiredFiles()
  406. public function setClasses(Array $classes)
  407. public function getClass($name = null)
  408. public function setClass($class)
  409. public function setFilename($filename)
  410. public function getFilename()
  411. public function getClasses()
  412. public function setBody($body)
  413. public function getBody()
  414. public function isSourceDirty()
  415. public function generate()
  416. }
  417. ]]></programlisting>
  418. </sect3>
  419. <sect3 id="zend.codegenerator.reference.concrete.php-member-container">
  420. <title>Zend_CodeGenerator_Php_Member_Container</title>
  421. <para>
  422. <classname>Zend_CodeGenerator_Php_Member_Container</classname>
  423. wird intern von
  424. <classname>Zend_CodeGenerator_Php_Class</classname>
  425. verwendet um die Klassenmember
  426. zu erheben -- Eigenschaften sowie Methoden. Diese werden durch den
  427. Namen indiziert,
  428. indem die konkrete Instanz des Members als Wert verwendet wird.
  429. </para>
  430. <para>
  431. Die
  432. <acronym>API</acronym>
  433. der Klasse ist wie folgt:
  434. </para>
  435. <programlisting language="php"><![CDATA[
  436. class Zend_CodeGenerator_Php_Member_Container extends ArrayObject
  437. {
  438. public function __construct($type = self::TYPE_PROPERTY)
  439. }
  440. ]]></programlisting>
  441. </sect3>
  442. <sect3 id="zend.codegenerator.reference.concrete.php-method">
  443. <title>Zend_CodeGenerator_Php_Method</title>
  444. <para>
  445. <classname>Zend_CodeGenerator_Php_Method</classname>
  446. beschreibt eine Klassenmethode,
  447. und kann sowohl Code als auch den DocBlock für diese Methode erstellen.
  448. Die
  449. Sichtbarkeit und der Status als Statisch, Abstrakt, oder Final kann, über die
  450. Eltern-Klasse,
  451. <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
  452. ,
  453. angegeben werden. Letztendlich können die Parameter und Rückgabewerte für die
  454. Methode spezifiziert werden.
  455. </para>
  456. <para>
  457. Parameter könnnen durch Verwendung von
  458. <methodname>setParameter()</methodname>
  459. oder
  460. <methodname>setParameters()</methodname>
  461. gesetzt werden. In jedem Fall, sollte der
  462. Parameter entweder ein Array von Informationen sein die an den Constructor
  463. von
  464. <classname>Zend_CodeGenerator_Php_Parameter</classname>
  465. übergeben werden, oder eine
  466. Instanz dieser Klasse.
  467. </para>
  468. <para>
  469. Die
  470. <acronym>API</acronym>
  471. der Klasse ist wie folgt:
  472. </para>
  473. <programlisting language="php"><![CDATA[
  474. class Zend_CodeGenerator_Php_Method
  475. extends Zend_CodeGenerator_Php_Member_Abstract
  476. {
  477. public static function fromReflection(
  478. Zend_Reflection_Method $reflectionMethod
  479. )
  480. public function setDocblock(Zend_CodeGenerator_Php_Docblock $docblock)
  481. public function getDocblock()
  482. public function setFinal($isFinal)
  483. public function setParameters(Array $parameters)
  484. public function setParameter($parameter)
  485. public function getParameters()
  486. public function setBody($body)
  487. public function getBody()
  488. public function generate()
  489. }
  490. ]]></programlisting>
  491. </sect3>
  492. <sect3 id="zend.codegenerator.reference.concrete.php-parameter">
  493. <title>Zend_CodeGenerator_Php_Parameter</title>
  494. <para>
  495. <classname>Zend_CodeGenerator_Php_Parameter</classname>
  496. kann verwendet werden um
  497. Methodenparameter zu spezifizieren. Jeder Parameter kann eine Position haben
  498. (wenn nicht spezifiziert wird die Reihenfolge in der diese spezifiziert
  499. werden
  500. verwendet), einen Standardwert, und einen Datentyp; ein Parametername wird
  501. benötigt.
  502. </para>
  503. <para>
  504. Die
  505. <acronym>API</acronym>
  506. der Klasse ist wie folgt:
  507. </para>
  508. <programlisting language="php"><![CDATA[
  509. class Zend_CodeGenerator_Php_Parameter extends Zend_CodeGenerator_Php_Abstract
  510. {
  511. public static function fromReflection(
  512. Zend_Reflection_Parameter $reflectionParameter
  513. )
  514. public function setType($type)
  515. public function getType()
  516. public function setName($name)
  517. public function getName()
  518. public function setDefaultValue($defaultValue)
  519. public function getDefaultValue()
  520. public function setPosition($position)
  521. public function getPosition()
  522. public function getPassedByReference()
  523. public function setPassedByReference($passedByReference)
  524. public function generate()
  525. }
  526. ]]></programlisting>
  527. <para>
  528. Es gibt einige Probleme die auftreten können wenn man versucht
  529. <constant>NULL</constant>
  530. , boolsche Werte oder Arrays als Standardwerte zu setzen.
  531. Hierfür kann das Wert-Halte-Objekt
  532. <classname>Zend_CodeGenerator_Php_ParameterDefaultValue</classname>
  533. verwendet
  534. werden. Zum Beispiel:
  535. </para>
  536. <programlisting language="php"><![CDATA[
  537. $parameter = new Zend_CodeGenerator_Php_Parameter();
  538. $parameter->setDefaultValue(
  539. new Zend_CodeGenerator_Php_Parameter_DefaultValue("null")
  540. );
  541. $parameter->setDefaultValue(
  542. new Zend_CodeGenerator_Php_Parameter_DefaultValue("array('foo', 'bar')")
  543. );
  544. ]]></programlisting>
  545. <para>
  546. Intern konvertiert
  547. <methodname>setDefaultValue()</methodname>
  548. die Werte, welche in
  549. <acronym>PHP</acronym>
  550. nicht ausgedrückt werden können, in den Werte-Halter.
  551. </para>
  552. </sect3>
  553. <sect3 id="zend.codegenerator.reference.concrete.php-property">
  554. <title>Zend_CodeGenerator_Php_Property</title>
  555. <para>
  556. <classname>Zend_CodeGenerator_Php_Property</classname>
  557. beschreibt die Eigenschaft
  558. einer Klasse, welche entweder eine Konstante oder eine Variable sein
  559. kann. In jedem
  560. Fall, kann der Eigenschaft ein optionaler Standardwert assoziiert werden.
  561. Zusätzlich kann die Sichtbarkeit von variablen Eigenschaften über
  562. die Elternklasse
  563. <classname>Zend_CodeGenerator_Php_Member_Abstract</classname>
  564. gesetzt werden.
  565. </para>
  566. <para>
  567. Die
  568. <acronym>API</acronym>
  569. der Klasse ist wie folgt:
  570. </para>
  571. <programlisting language="php"><![CDATA[
  572. class Zend_CodeGenerator_Php_Property
  573. extends Zend_CodeGenerator_Php_Member_Abstract
  574. {
  575. public static function fromReflection(
  576. Zend_Reflection_Property $reflectionProperty
  577. )
  578. public function setConst($const)
  579. public function isConst()
  580. public function setDefaultValue($defaultValue)
  581. public function getDefaultValue()
  582. public function generate()
  583. }
  584. ]]></programlisting>
  585. </sect3>
  586. </sect2>
  587. </sect1>