PageRenderTime 52ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/cakephp/class.latte

https://github.com/cakephp/cakephp-api-docs
Unknown | 508 lines | 449 code | 59 blank | 0 comment | 0 complexity | 9e173231f265db551c0cce33b6913342 MD5 | raw file
Possible License(s): BSD-3-Clause, JSON
  1. {*
  2. ApiGen 3.0dev - API documentation generator for PHP 5.3+
  3. Copyright (c) 2010-2011 David Grudl (http://davidgrudl.com)
  4. Copyright (c) 2011-2012 Jaroslav Hanslík (https://github.com/kukulich)
  5. Copyright (c) 2011-2012 Ond?ej Nešpor (https://github.com/Andrewsville)
  6. For the full copyright and license information, please view
  7. the file LICENSE.md that was distributed with this source code.
  8. *}
  9. {layout '@layout.latte'}
  10. {var $active = 'class'}
  11. {block #title}{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->name}{/block}
  12. {block #content}
  13. <div id="content" class="class">
  14. <h1 n:class="$class->deprecated ? deprecated">{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->shortName}</h1>
  15. {if $class->valid}
  16. <div class="description" n:if="$template->longDescription($class)">
  17. {!$class|longDescription}
  18. </div>
  19. <dl class="tree" n:if="$class->parentClass || $class->ownInterfaces || $class->ownTraits">
  20. <dd n:foreach="$tree as $item" style="padding-left:{($iterator->counter - 1) * 30}px">
  21. <img src="resources/inherit.png" alt="Extended by" n:if="$iterator->counter > 1">
  22. {if $item->documented}
  23. <a href="{$item|classUrl}" n:tag-if="!$iterator->last">{last}<b>{/last}<span n:class="$item->deprecated ? deprecated, !$item->valid ? invalid">{$item->name}</span>{last}</b>{/last}</a>
  24. {else}{$item->name}{/if}
  25. {var $itemOwnInterfaces = $item->ownInterfaces}
  26. {if $itemOwnInterfaces} implements {foreach $itemOwnInterfaces as $interface}
  27. <a href="{$interface|classUrl}" n:tag-if="$interface->documented"><span n:class="$interface->deprecated ? deprecated, !$interface->valid ? invalid">{$interface->name}</span></a>{sep}, {/sep}
  28. {/foreach}{/if}
  29. {var $itemOwnTraits = $item->ownTraits}
  30. {if $itemOwnTraits} uses {foreach $itemOwnTraits as $trait}
  31. <a href="{$trait|classUrl}" n:tag-if="$trait->documented"><span n:class="$trait->deprecated ? deprecated, !$trait->valid ? invalid">{$trait->name}</span></a>{sep}, {/sep}
  32. {/foreach}{/if}
  33. </dd>
  34. </dl>
  35. {define #children}
  36. {foreach $children as $child}
  37. <a href="{$child|classUrl}" n:tag-if="$child->documented"><span n:tag-if="$child->deprecated" class="deprecated">{$child->name}</span></a>{sep}, {/sep}
  38. {/foreach}
  39. {/define}
  40. <div class="section" n:if="$directSubClasses">
  41. <h6>Direct known subclasses</h6>
  42. {include #children, children => $directSubClasses}
  43. </div>
  44. <div class="section" n:if="$indirectSubClasses">
  45. <h6>Indirect known subclasses</h6>
  46. {include #children, children => $indirectSubClasses}
  47. </div>
  48. <div class="section" n:if="$directImplementers">
  49. <h6>Direct known implementers</h6>
  50. {include #children, children => $directImplementers}
  51. </div>
  52. <div class="section" n:if="$indirectImplementers">
  53. <h6>Indirect known implementers</h6>
  54. {include #children, children => $indirectImplementers}
  55. </div>
  56. <div class="section" n:if="$directUsers">
  57. <h6>Direct Known Users</h6>
  58. {include #children, children => $directUsers}
  59. </div>
  60. <div class="section" n:if="$indirectUsers">
  61. <h6>Indirect Known Users</h6>
  62. {include #children, children => $indirectUsers}
  63. </div>
  64. <div class="info">
  65. {if !$class->interface && !$class->trait && ($class->abstract || $class->final)}<b>{if $class->abstract}Abstract{else}Final{/if}</b><br>{/if}
  66. {if $class->internal}<b>PHP Extension:</b> <a href="{$class->extension|manualUrl}" title="Go to PHP documentation">{$class->extension->name|firstUpper}</a><br>{/if}
  67. {if $class->inNamespace()}<b>Namespace:</b> {!$class->namespaceName|namespaceLinks}<br>{/if}
  68. {if $class->inPackage()}<b>Package:</b> {!$class->packageName|packageLinks}<br>{/if}
  69. {foreach $template->annotationSort($template->annotationFilter($class->annotations)) as $annotation => $values}
  70. {foreach $values as $value}
  71. <b>{$annotation|annotationBeautify}{if $value}:{/if}</b>
  72. {!$value|annotation:$annotation:$class}<br>
  73. {/foreach}
  74. {/foreach}
  75. {if $class->internal}<b>Documented at</b> <a href="{$class|manualUrl}" title="Go to PHP documentation">php.net</a>{else}<b>Located at</b> <a n:tag-if="$config->sourceCode" href="{$class|sourceUrl}" title="Go to source code">{$class->fileName|relativePath}</a>{/if}<br>
  76. </div>
  77. {var $ownMethods = $class->ownMethods}
  78. {var $ownMagicMethods = $class->ownMagicMethods}
  79. {define #method_visibility}
  80. {var $annotations = $method->annotations}
  81. {if !$class->interface && $method->abstract}
  82. <span class="label">abstract</span>
  83. {elseif $method->final}
  84. <span class="label">final</span>
  85. {/if}
  86. <span class="label">
  87. {if $method->protected}
  88. protected
  89. {elseif $method->private}
  90. private
  91. {else}
  92. public
  93. {/if}
  94. </span>
  95. {if $method->static}
  96. <span class="label">static</span>
  97. {/if}
  98. {/define}
  99. {define #method_signature}
  100. {block|strip}
  101. {if $class->internal}
  102. <a href="{$method|manualUrl}" title="Go to PHP documentation">{$method->name}</a>(
  103. {else}
  104. <a n:tag-if="$config->sourceCode" href="{$method|sourceUrl}" title="Go to source code">{$method->name}</a>(
  105. {/if}
  106. ){/block}
  107. {/define}
  108. {define #method}
  109. {var $annotations = $method->annotations}
  110. <a id="{if $method->magic}m{/if}_{$method->name}"></a>
  111. <h3 class="method-name">
  112. {include #method_signature, method => $method}
  113. {include #method_visibility, method => $method}
  114. </h3>
  115. <div class="description detailed">
  116. {!$method|longDescription}
  117. {if !$class->deprecated && $method->deprecated}
  118. <h6>Deprecated</h6>
  119. {ifset $annotations['deprecated']}
  120. <div class="list">
  121. {foreach $annotations['deprecated'] as $description}
  122. {if $description}
  123. {!$description|annotation:'deprecated':$method}<br>
  124. {/if}
  125. {/foreach}
  126. </div>
  127. {/ifset}
  128. {/if}
  129. {if $method->parameters && isset($annotations['param'])}
  130. <h6>Parameters</h6>
  131. <div class="parameter-list list">
  132. <dl>
  133. {foreach $method->parameters as $parameter}
  134. <dt>
  135. <var>${$parameter->name}</var>
  136. {if $parameter->defaultValueAvailable}
  137. <span class="label">optional</span>
  138. {/if}
  139. {if $parameter->defaultValueAvailable}
  140. {!$parameter->defaultValueDefinition|highlightPHP:$class}
  141. {/if}
  142. {if $parameter->unlimited},{/if}
  143. </dt>
  144. <dd>{$parameter->description|description:$method}</dd>
  145. {/foreach}
  146. </dl>
  147. </div>
  148. {/if}
  149. {if isset($annotations['return']) && 'void' !== $annotations['return'][0]}
  150. <h6>Returns</h6>
  151. <div class="list">
  152. {foreach $annotations['return'] as $description}
  153. {!$description|annotation:'return':$method}<br>
  154. {/foreach}
  155. </div>
  156. {/if}
  157. {ifset $annotations['throws']}
  158. <h6>Throws</h6>
  159. <div class="list">
  160. {foreach $annotations['throws'] as $description}
  161. {!$description|annotation:'throws':$method}<br>
  162. {/foreach}
  163. </div>
  164. {/ifset}
  165. {foreach $template->annotationSort($template->annotationFilter($annotations, array('deprecated', 'param', 'return', 'throws'))) as $annotation => $descriptions}
  166. <h6>{$annotation|annotationBeautify}</h6>
  167. <div class="list">
  168. {foreach $descriptions as $description}
  169. {if $description}
  170. {!$description|annotation:$annotation:$method}<br>
  171. {/if}
  172. {/foreach}
  173. </div>
  174. {/foreach}
  175. {var $overriddenMethod = $method->overriddenMethod}
  176. {if $overriddenMethod}
  177. <h6>Overrides</h6>
  178. <div class="list"><code><a n:tag-if="$template->getClass($overriddenMethod->declaringClassName)" href="{$overriddenMethod|methodUrl}">{$overriddenMethod->prettyName}</a></code></div>
  179. {/if}
  180. {var $implementedMethod = $method->implementedMethod}
  181. {if $implementedMethod}
  182. <h6>Implementation of</h6>
  183. <div class="list"><code><a n:tag-if="$template->getClass($implementedMethod->declaringClassName)" href="{$implementedMethod|methodUrl}">{$implementedMethod->prettyName}</a></code></div>
  184. {/if}
  185. </div>
  186. {/define}
  187. <div class="section" n:if="$ownMethods">
  188. <h2>Method summary</h2>
  189. <table class="summary methods" id="methods">
  190. <tr n:foreach="$ownMethods as $method">
  191. <td class="name">
  192. {include #method_visibility, method => $method}
  193. </td>
  194. <td>
  195. <a href="#{if $method->magic}m{/if}_{$method->name}">
  196. {$method->name}
  197. </a>(
  198. {foreach $method->parameters as $parameter}
  199. <span>{!$parameter->typeHint|typeLinks:$method}
  200. <var>
  201. {if $parameter->passedByReference}&amp; {/if}${$parameter->name}</var>
  202. {if $parameter->defaultValueAvailable} = {!$parameter->defaultValueDefinition}
  203. {elseif $parameter->unlimited}
  204. ,
  205. {/if}
  206. </span>{sep}, {/sep}
  207. {/foreach}
  208. )
  209. <p>{$method|shortDescription}</p>
  210. </td>
  211. </tr>
  212. </table>
  213. </div>
  214. <div class="section" n:if="$ownMethods">
  215. <h2>Method Detail</h2>
  216. <div class="method-detail" n:foreach="$ownMethods as $method">
  217. {include #method, method => $method}
  218. </div>
  219. </div>
  220. <div class="section" n:foreach="$class->inheritedMethods as $parentName => $methods">
  221. <h2>Methods inherited from <a href="{$parentName|classUrl}#methods" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h2>
  222. <table class="summary inherited">
  223. <tr>
  224. <td><code>
  225. {foreach $methods as $method}
  226. <a href="{$method|methodUrl}" n:tag-if="$template->getClass($parentName)"><span n:tag-if="$method->deprecated" class="deprecated">{$method->name}()</span></a>{sep}, {/sep}
  227. {/foreach}
  228. </code></td>
  229. </tr>
  230. </table>
  231. </div>
  232. <div class="section" n:foreach="$class->usedMethods as $traitName => $methods">
  233. <h2>Methods used from <a href="{$traitName|classUrl}#methods" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h2>
  234. <table class="summary used">
  235. <tr>
  236. <td><code>
  237. {foreach $methods as $data}
  238. <a href="{$data['method']|methodUrl:$data['method']->declaringTrait}" n:tag-if="$template->getClass($traitName)"><span n:tag-if="$data['method']->deprecated" class="deprecated">{$data['method']->originalName}()</span></a>{if $data['aliases']}(as {foreach $data['aliases'] as $alias}<span n:tag-if="$data['method']->deprecated" class="deprecated">{$alias->name}()</span>{sep}, {/sep}{/foreach}){/if}{sep}, {/sep}
  239. {/foreach}
  240. </code></td>
  241. </tr>
  242. </table>
  243. </div>
  244. <div class="section" n:if="$ownMagicMethods">
  245. <h2>Magic methods summary</h2>
  246. <table class="summary methods" id="magicMethods">
  247. {foreach $ownMagicMethods as $method}
  248. {include #method, method => $method}
  249. {/foreach}
  250. </table>
  251. </div>
  252. <div class="section" n:foreach="$class->inheritedMagicMethods as $parentName => $methods">
  253. <h2>Magic methods inherited from <a href="{$parentName|classUrl}#methods" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h2>
  254. <table class="summary inherited">
  255. <tr>
  256. <td><code>
  257. {foreach $methods as $method}
  258. <a href="{$method|methodUrl}" n:tag-if="$template->getClass($parentName)"><span n:tag-if="$method->deprecated" class="deprecated">{$method->name}()</span></a>{sep}, {/sep}
  259. {/foreach}
  260. </code></td>
  261. </tr>
  262. </table>
  263. </div>
  264. <div class="section" n:foreach="$class->usedMagicMethods as $traitName => $methods">
  265. <h2>Magic methods used from <a href="{$traitName|classUrl}#methods" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h2>
  266. <table class="summary used">
  267. <tr>
  268. <td><code>
  269. {foreach $methods as $data}
  270. <a href="{$data['method']|methodUrl:$data['method']->declaringTrait}" n:tag-if="$template->getClass($traitName)"><span n:tag-if="$data['method']->deprecated" class="deprecated">{$data['method']->originalName}()</span></a>{if $data['aliases']}(as {foreach $data['aliases'] as $alias}<span n:tag-if="$data['method']->deprecated" class="deprecated">{$alias->name}()</span>{sep}, {/sep}{/foreach}){/if}{sep}, {/sep}
  271. {/foreach}
  272. </code></td>
  273. </tr>
  274. </table>
  275. </div>
  276. {var $ownConstants = $class->ownConstants}
  277. <div class="section" n:if="$ownConstants">
  278. <h2>Constants summary</h2>
  279. <table class="summary constants" id="constants">
  280. <tr n:foreach="$ownConstants as $constant" data-order="{$constant->name}" id="{$constant->name}">
  281. {var $annotations = $constant->annotations}
  282. <td class="attributes"><code>{!$constant->typeHint|typeLinks:$constant}</code></td>
  283. <td class="name">
  284. <code>
  285. {if $class->internal}
  286. <a href="{$constant|manualUrl}" title="Go to PHP documentation"><b>{$constant->name}</b></a>
  287. {else}
  288. <a n:tag-if="$config->sourceCode" href="{$constant|sourceUrl}" title="Go to source code"><b>{$constant->name}</b></a>
  289. {/if}
  290. </code>
  291. <div n:if="$config->template->options->elementDetailsCollapsed" class="description short">
  292. {!$constant|shortDescription:true}
  293. </div>
  294. <div n:class="description, detailed, $config->template->options->elementDetailsCollapsed ? hidden">
  295. {!$constant|longDescription}
  296. {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions}
  297. <h6>{$annotation|annotationBeautify}</h6>
  298. <div class="list">
  299. {foreach $descriptions as $description}
  300. {if $description}
  301. {!$description|annotation:$annotation:$constant}<br>
  302. {/if}
  303. {/foreach}
  304. </div>
  305. {/foreach}
  306. </div>
  307. </td>
  308. <td class="value"><div><a href="#{$constant->name}" class="anchor">#</a><code>{!$constant->valueDefinition|highlightValue:$class}</code></div></td>
  309. </tr>
  310. </table>
  311. </div>
  312. <div class="section" n:foreach="$class->inheritedConstants as $parentName => $constants">
  313. <h2>Constants inherited from <a href="{$parentName|classUrl}#constants" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h2>
  314. <table class="summary inherited">
  315. <tr>
  316. <td><code>
  317. {foreach $constants as $constant}
  318. <a href="{$constant|constantUrl}" n:tag-if="$template->getClass($parentName)"><b><span n:tag-if="$constant->deprecated" class"deprecated">{$constant->name}</span></b></a>{sep}, {/sep}
  319. {/foreach}
  320. </code></td>
  321. </tr>
  322. </table>
  323. </div>
  324. {define #property}
  325. <tr id="{if $property->magic}m{/if}${$property->name}">
  326. <td class="attributes">
  327. {if $property->protected}
  328. <span class="label">protected</span>
  329. {elseif $property->private}
  330. <span class="label">private</span>
  331. {else}
  332. <span class="label">public</span>
  333. {/if}
  334. {if $property->static}
  335. <span class="label">static</span>
  336. {/if}
  337. {if $property->readOnly}
  338. <span class="label">read-only</span>
  339. {elseif $property->writeOnly}
  340. <span class="label">write-only</span>
  341. {/if}
  342. {!$property->typeHint|typeLinks:$property}
  343. </td>
  344. <td class="name">
  345. {if $class->internal}
  346. <a href="{$property|manualUrl}" title="Go to PHP documentation"><var>${$property->name}</var></a>
  347. {else}
  348. <a n:tag-if="$config->sourceCode" href="{$property|sourceUrl}" title="Go to source code"><var>${$property->name}</var></a>
  349. {/if}
  350. <div class="description detailed">
  351. {!$property|longDescription}
  352. {foreach $template->annotationSort($template->annotationFilter($property->annotations, array('var'))) as $annotation => $descriptions}
  353. <h6>{$annotation|annotationBeautify}</h6>
  354. <div class="list">
  355. {foreach $descriptions as $description}
  356. {if $description}
  357. {!$description|annotation:$annotation:$property}<br>
  358. {/if}
  359. {/foreach}
  360. </div>
  361. {/foreach}
  362. <div n:if="!$property->magic && $property->defaultValueDefinition" class="default-value">
  363. <pre>{!$property->defaultValueDefinition|highlightValue:$class}</pre>
  364. </div>
  365. </div>
  366. </td>
  367. </tr>
  368. {/define}
  369. {var $ownProperties = $class->ownProperties}
  370. {var $ownMagicProperties = $class->ownMagicProperties}
  371. <div class="section" n:if="$ownProperties">
  372. <h2>Properties summary</h2>
  373. <table class="summary properties" id="properties">
  374. {foreach $ownProperties as $property}
  375. {include #property, property => $property}
  376. {/foreach}
  377. </table>
  378. </div>
  379. <div class="section" n:foreach="$class->inheritedProperties as $parentName => $properties">
  380. <h2>Properties inherited from <a href="{$parentName|classUrl}#properties" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h2>
  381. <table class="summary inherited">
  382. <tr>
  383. <td><code>
  384. {foreach $properties as $property}
  385. <a href="{$property|propertyUrl}" n:tag-if="$template->getClass($parentName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a>{sep}, {/sep}
  386. {/foreach}
  387. </code></td>
  388. </tr>
  389. </table>
  390. </div>
  391. <div class="section" n:foreach="$class->usedProperties as $traitName => $properties">
  392. <h2>Properties used from <a href="{$traitName|classUrl}#properties" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h2>
  393. <table n:foreach="$class->usedProperties as $traitName => $properties" class="summary used">
  394. <tr>
  395. <td><code>
  396. {foreach $properties as $property}
  397. <a href="{$property|propertyUrl:$property->declaringTrait}" n:tag-if="$template->getClass($traitName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a>{sep}, {/sep}
  398. {/foreach}
  399. </code></td>
  400. </tr>
  401. </table>
  402. </div>
  403. <div class="section" n:if="$ownMagicProperties">
  404. <h2>Magic properties summary</h2>
  405. <table class="summary properties" id="magicProperties">
  406. {foreach $ownMagicProperties as $property}
  407. {include #property, property => $property}
  408. {/foreach}
  409. </table>
  410. </div>
  411. <div class="section" n:foreach="$class->inheritedMagicProperties as $parentName => $properties">
  412. <h2>Magic properties inherited from <a href="{$parentName|classUrl}#properties" n:tag-if="$template->getClass($parentName)">{$parentName}</a></h2>
  413. <table class="summary inherited">
  414. <tr>
  415. <td><code>
  416. {foreach $properties as $property}
  417. <a href="{$property|propertyUrl}" n:tag-if="$template->getClass($parentName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a>{sep}, {/sep}
  418. {/foreach}
  419. </code></td>
  420. </tr>
  421. </table>
  422. </div>
  423. <div class="section" n:foreach="$class->usedMagicProperties as $traitName => $properties">
  424. <h2>Magic properties used from <a href="{$traitName|classUrl}#properties" n:tag-if="$template->getClass($traitName)">{$traitName}</a></h2>
  425. <table class="summary used">
  426. <tr>
  427. <td><code>
  428. {foreach $properties as $property}
  429. <a href="{$property|propertyUrl:$property->declaringTrait}" n:tag-if="$template->getClass($traitName)"><var><span n:tag-if="$property->deprecated" class="deprecated">${$property->name}</span></var></a>{sep}, {/sep}
  430. {/foreach}
  431. </code></td>
  432. </tr>
  433. </table>
  434. </div>
  435. {else}
  436. <div class="invalid">
  437. <p>
  438. Documentation of this class could not be generated.
  439. </p>
  440. <p>
  441. Class was originally declared in {$class->fileName|relativePath} and is invalid because of:
  442. </p>
  443. <ul>
  444. <li n:foreach="$class->reasons as $reason">Class was redeclared in {$reason->getSender()->getFileName()|relativePath}.</li>
  445. </ul>
  446. </div>
  447. {/if}
  448. </div>
  449. {/block}