PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/frames/class.latte

https://github.com/sethmay/apigen
Unknown | 337 lines | 295 code | 42 blank | 0 comment | 0 complexity | 6c6b82719396bb201845402e87d42177 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. {layout '@content.latte'}
  2. {var $active = 'class'}
  3. {block #title}{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->name}{/block}
  4. {block #content}
  5. <div id="content" class="class">
  6. <h1>{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->shortName}</h1>
  7. <div class="description" n:if="$template->longDescription($class)">
  8. {!$class|longDescription}
  9. </div>
  10. <dl class="tree" n:if="$class->parentClass || $class->ownInterfaces || $class->ownTraits">
  11. <dd n:foreach="$tree as $item" style="padding-left:{($iterator->counter - 1) * 30}px">
  12. <img src="resources/inherit.png" alt="Extended by" n:if="$iterator->counter > 1">
  13. {if $item->documented}
  14. <a href="{$item|classUrl}" n:tag-if="!$iterator->last">{last}<b>{/last}{$item->name}{last}</b>{/last}</a>
  15. {else}{$item->name}{/if}
  16. {var $itemOwnInterfaces = $item->ownInterfaces}
  17. {if $itemOwnInterfaces} implements {foreach $itemOwnInterfaces as $interface}
  18. <a href="{$interface|classUrl}" n:tag-if="$interface->documented">{$interface->name}</a>{sep}, {/sep}
  19. {/foreach}{/if}
  20. {var $itemOwnTraits = $item->ownTraits}
  21. {if $itemOwnTraits} uses {foreach $itemOwnTraits as $trait}
  22. <a href="{$trait|classUrl}" n:tag-if="$trait->documented">{$trait->name}</a>{sep}, {/sep}
  23. {/foreach}{/if}
  24. </dd>
  25. </dl>
  26. <div n:if="$directSubClasses">
  27. <h4>Direct known subclasses</h4>
  28. {foreach $directSubClasses as $item}
  29. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  30. {/foreach}
  31. </div>
  32. <div n:if="$indirectSubClasses">
  33. <h4>Indirect known subclasses</h4>
  34. {foreach $indirectSubClasses as $item}
  35. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  36. {/foreach}
  37. </div>
  38. <div n:if="$directImplementers">
  39. <h4>Direct known implementers</h4>
  40. {foreach $directImplementers as $item}
  41. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  42. {/foreach}
  43. </div>
  44. <div n:if="$indirectImplementers">
  45. <h4>Indirect known implementers</h4>
  46. {foreach $indirectImplementers as $item}
  47. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  48. {/foreach}
  49. </div>
  50. <div n:if="$directUsers">
  51. <h4>Direct Known Users</h4>
  52. {foreach $directUsers as $item}
  53. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  54. {/foreach}
  55. </div>
  56. <div n:if="$indirectUsers">
  57. <h4>Indirect Known Users</h4>
  58. {foreach $indirectUsers as $item}
  59. <a href="{$item|classUrl}" n:tag-if="$item->documented">{$item->name}</a>{sep}, {/sep}
  60. {/foreach}
  61. </div>
  62. <div class="info">
  63. {if !$class->interface && !$class->trait && ($class->abstract || $class->final)}<b>{if $class->abstract}Abstract{else}Final{/if}</b><br>{/if}
  64. {if $class->internal}<b>PHP Extension:</b> <a href="{$class->extension|manualUrl}" target="_parent" title="Go to PHP documentation">{$class->extension->name|firstUpper}</a><br>{/if}
  65. {if $class->inNamespace()}<b>Namespace:</b> {!$class->namespaceName|namespaceLinks}<br>{/if}
  66. {foreach $template->annotationSort($template->annotationFilter($class->annotations)) as $annotation => $values}
  67. {foreach $values as $value}
  68. <b>{$annotation|firstUpper}{if $value}:{/if}</b>
  69. {!$value|annotation:$annotation:$class}<br>
  70. {/foreach}
  71. {/foreach}
  72. {if $class->internal}<b>Documented at</b> <a href="{$class|manualUrl}" target="_parent" 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">{$fileName}</a>{/if}<br>
  73. </div>
  74. <table class="summary" id="methods" n:if="$ownMethods">
  75. <caption>Methods summary</caption>
  76. <tr n:foreach="$ownMethods as $method" data-order="{$method->name}" id="_{$method->name}" n:class="$method->deprecated ? deprecated">
  77. {var $annotations = $method->annotations}
  78. <td class="attributes"><code>
  79. {if $method->deprecated}deprecated{/if}
  80. {if !$class->interface && $method->abstract}abstract{elseif $method->final}final{/if} {if $method->protected}protected{elseif $method->private}private{else}public{/if} {if $method->static}static{/if}
  81. {ifset $annotations['return']}{!$annotations['return'][0]|typeLinks:$method}{/ifset}
  82. {if $method->returnsReference()}&amp;{/if}
  83. </code>
  84. </td>
  85. <td class="name"><div>
  86. <a class="anchor" href="#_{$method->name}">#</a>
  87. <code>{block|strip}
  88. {if $class->internal}
  89. <a href="{$method|manualUrl}" target="_parent" title="Go to PHP documentation">{$method->name}</a>(
  90. {else}
  91. <a n:tag-if="$config->sourceCode" href="{$method|sourceUrl}" title="Go to source code">{$method->name}</a>(
  92. {/if}
  93. {foreach $method->parameters as $parameter}
  94. <span>{if $parameter->array}array
  95. {elseif $parameter->className}<a href="{$parameter->className|classUrl}" n:tag-if="$template->getClass($parameter->className)">{$parameter->className}</a>
  96. {elseif isset($annotations['param'][$parameter->position])}{!$annotations['param'][$parameter->position]|typeLinks:$parameter}{/if}
  97. <var>{if $parameter->passedByReference}&amp; {/if}${$parameter->name}</var>{if $parameter->defaultValueAvailable} = {!$parameter->defaultValueDefinition|highlightPHP:$class}{/if}</span>{sep}, {/sep}
  98. {/foreach}
  99. ){/block}</code>
  100. {if $config->template['options']['elementDetailsCollapsed']}
  101. <div class="description short">
  102. {!$method|shortDescription:true}
  103. </div>
  104. {/if}
  105. <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
  106. {!$method|longDescription}
  107. {if $method->deprecated}
  108. <h4>Deprecated</h4>
  109. {if $annotations['deprecated']}
  110. <div class="list">
  111. {foreach $annotations['deprecated'] as $description}
  112. {if $description}
  113. {!$description|annotation:'deprecated':$method}<br>
  114. {/if}
  115. {/foreach}
  116. </div>
  117. {/if}
  118. {/if}
  119. {if $method->parameters && isset($annotations['param'])}
  120. <h4>Parameters</h4>
  121. <div class="list"><dl>
  122. {foreach $method->parameters as $parameter}
  123. <dt><var>${$parameter->name}</var></dt>
  124. <dd>{ifset $annotations['param'][$parameter->position]}{!$annotations['param'][$parameter->position]|annotation:'param':$parameter}{/ifset}</dd>
  125. {/foreach}
  126. </dl></div>
  127. {/if}
  128. {if isset($annotations['return']) && 'void' !== $annotations['return'][0]}
  129. <h4>Returns</h4>
  130. <div class="list">
  131. {foreach $annotations['return'] as $description}
  132. {!$description|annotation:'return':$method}<br>
  133. {/foreach}
  134. </div>
  135. {/if}
  136. {ifset $annotations['throws']}
  137. <h4>Throws</h4>
  138. <div class="list">
  139. {foreach $annotations['throws'] as $description}
  140. {!$description|annotation:'throws':$method}<br>
  141. {/foreach}
  142. </div>
  143. {/ifset}
  144. {foreach $template->annotationSort($template->annotationFilter($annotations, array('deprecated', 'param', 'return', 'throws'))) as $annotation => $descriptions}
  145. <h4>{$annotation|firstUpper}</h4>
  146. <div class="list">
  147. {foreach $descriptions as $description}
  148. {if $description}
  149. {!$description|annotation:$annotation:$method}<br>
  150. {/if}
  151. {/foreach}
  152. </div>
  153. {/foreach}
  154. {try}
  155. {var $prototype = $method->prototype}
  156. {if $prototype->declaringClass->interface}
  157. <h4>Implementation of</h4>
  158. <div class="list"><code><a n:tag-if="$template->getClass($prototype->declaringClassName)" href="{$prototype|methodUrl}">{$prototype->declaringClassName}::{$prototype->name}</a></code></div>
  159. {/if}
  160. {/try}
  161. </div>
  162. </div></td>
  163. </tr>
  164. </table>
  165. <table n:foreach="$class->inheritedMethods as $parentName => $methods" class="summary inherited">
  166. <caption>Methods inherited from <a href="{$parentName|classUrl}#methods" n:tag-if="$template->getClass($parentName)">{$parentName}</a></caption>
  167. <tr>
  168. <td><code>
  169. {foreach $methods as $method}
  170. <span n:tag-if="$method->deprecated" class="deprecated"><a href="{$method|methodUrl}" n:tag-if="$template->getClass($parentName)">{$method->name}()</a></span>{sep}, {/sep}
  171. {/foreach}
  172. </code></td>
  173. </tr>
  174. </table>
  175. <table n:foreach="$class->usedMethods as $traitName => $methods" class="summary used">
  176. <caption>Methods used from <a href="{$traitName|classUrl}#methods" n:tag-if="$template->getClass($traitName)">{$traitName}</a></caption>
  177. <tr>
  178. <td><code>
  179. {foreach $methods as $data}
  180. <span n:tag-if="$data['method']->deprecated" class="deprecated"><a href="{$data['method']|methodUrl:$data['method']->declaringTrait}" n:tag-if="$template->getClass($traitName)">{$data['method']->name}()</a>{if $data['aliases']}(as {foreach $data['aliases'] as $alias}{$alias->name}(){sep}, {/sep}{/foreach}){/if}</span>{sep}, {/sep}
  181. {/foreach}
  182. </code></td>
  183. </tr>
  184. </table>
  185. <table class="summary" id="constants" n:if="$ownConstants">
  186. <caption>Constants summary</caption>
  187. <tr n:foreach="$ownConstants as $constant" data-order="{$constant->name}" id="{$constant->name}" n:class="$constant->deprecated ? deprecated">
  188. {var $annotations = $constant->annotations}
  189. <td class="attributes"><code>
  190. {if $constant->deprecated}deprecated{/if}
  191. {ifset $annotations['var']}{!$annotations['var'][0]|typeLinks:$constant}{else}{try}{$constant->value|type}{/try}{/ifset}
  192. </code></td>
  193. <td class="name"><code>
  194. {if $class->internal}
  195. <a href="{$constant|manualUrl}" target="_parent" title="Go to PHP documentation"><b>{$constant->name}</b></a>
  196. {else}
  197. <a n:tag-if="$config->sourceCode" href="{$constant|sourceUrl}" title="Go to source code"><b>{$constant->name}</b></a>
  198. {/if}
  199. </code></td>
  200. <td class="value"><code>{!$constant->valueDefinition|highlightValue:$class}</code></td>
  201. <td class="description"><div>
  202. <a href="#{$constant->name}" class="anchor">#</a>
  203. {if $config->template['options']['elementDetailsCollapsed']}
  204. <div class="description short">
  205. {!$constant|shortDescription:true}
  206. </div>
  207. {/if}
  208. <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
  209. {!$constant|longDescription}
  210. {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions}
  211. <h4>{$annotation|firstUpper}</h4>
  212. <div class="list">
  213. {foreach $descriptions as $description}
  214. {if $description}
  215. {!$description|annotation:$annotation:$constant}<br>
  216. {/if}
  217. {/foreach}
  218. </div>
  219. {/foreach}
  220. </div>
  221. </div></td>
  222. </tr>
  223. </table>
  224. <table n:foreach="$class->inheritedConstants as $parentName => $constants" class="summary inherited">
  225. <caption>Constants inherited from <a href="{$parentName|classUrl}#constants" n:tag-if="$template->getClass($parentName)">{$parentName}</a></caption>
  226. <tr>
  227. <td><code>
  228. {foreach $constants as $constant}
  229. <span n:tag-if="$constant->deprecated" class"deprecated"><a href="{$constant|constantUrl}" n:tag-if="$template->getClass($parentName)"><b>{$constant->name}</b></a></span>{sep}, {/sep}
  230. {/foreach}
  231. </code></td>
  232. </tr>
  233. </table>
  234. <table class="summary" id="properties" n:if="$ownProperties">
  235. <caption>Properties summary</caption>
  236. <tr n:foreach="$ownProperties as $property" data-order="{$property->name}" id="${$property->name}" n:class="$property->deprecated ? deprecated">
  237. {var $annotations = $property->annotations}
  238. <td class="attributes"><code>
  239. {if $property->deprecated}deprecated{/if}
  240. {if $property->protected}protected{elseif $property->private}private{else}public{/if} {if $property->static}static{/if}
  241. {ifset $annotations['var']}{!$annotations['var'][0]|typeLinks:$property}{else}{try}{$property->defaultValue|type}{/try}{/ifset}
  242. </code></td>
  243. <td class="name">
  244. {if $class->internal}
  245. <a href="{$property|manualUrl}" title="Go to PHP documentation"><var>${$property->name}</var></a>
  246. {else}
  247. <a n:tag-if="$config->sourceCode" href="{$property|sourceUrl}" title="Go to source code"><var>${$property->name}</var></a>
  248. {/if}
  249. </td>
  250. <td class="value"><code>{!$property->defaultValueDefinition|highlightValue:$class}</code></td>
  251. <td class="description"><div>
  252. <a href="#${$property->name}" class="anchor">#</a>
  253. {if $config->template['options']['elementDetailsCollapsed']}
  254. <div class="description short">
  255. {!$property|shortDescription:true}
  256. </div>
  257. {/if}
  258. <div n:class="description, detailed, $config->template['options']['elementDetailsCollapsed'] ? hidden">
  259. {!$property|longDescription}
  260. {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions}
  261. <h4>{$annotation|firstUpper}</h4>
  262. <div class="list">
  263. {foreach $descriptions as $description}
  264. {if $description}
  265. {!$description|annotation:$annotation:$property}<br>
  266. {/if}
  267. {/foreach}
  268. </div>
  269. {/foreach}
  270. </div>
  271. </div></td>
  272. </tr>
  273. </table>
  274. <table n:foreach="$class->inheritedProperties as $parentName => $properties" class="summary inherited">
  275. <caption>Properties inherited from <a href="{$parentName|classUrl}#properties" n:tag-if="$template->getClass($parentName)">{$parentName}</a></caption>
  276. <tr>
  277. <td><code>
  278. {foreach $properties as $property}
  279. <span n:tag-if="$property->deprecated" class="deprecated"><a href="{$property|propertyUrl}" n:tag-if="$template->getClass($parentName)"><var>${$property->name}</var></a></span>{sep}, {/sep}
  280. {/foreach}
  281. </code></td>
  282. </tr>
  283. </table>
  284. <table n:foreach="$class->usedProperties as $traitName => $properties" class="summary used">
  285. <caption>Properties used from <a href="{$traitName|classUrl}#properties" n:tag-if="$template->getClass($traitName)">{$traitName}</a></caption>
  286. <tr>
  287. <td><code>
  288. {foreach $properties as $property}
  289. <span n:tag-if="$property->deprecated" class="deprecated"><a href="{$property|propertyUrl:$property->declaringTrait}" n:tag-if="$template->getClass($traitName)"><var>${$property->name}</var></a></span>{sep}, {/sep}
  290. {/foreach}
  291. </code></td>
  292. </tr>
  293. </table>
  294. </div>
  295. {/block}