{* ApiGen 2.8.0 - API documentation generator for PHP 5.3+ Copyright (c) 2010-2011 David Grudl (http://davidgrudl.com) Copyright (c) 2011-2012 Jaroslav Hanslík (https://github.com/kukulich) Copyright (c) 2011-2012 Ondřej Nešpor (https://github.com/Andrewsville) For the full copyright and license information, please view the file LICENSE.md that was distributed with this source code. *} {layout '@layout.latte'} {var $active = 'class'} {block #title}{if $class->deprecated}Deprecated {/if}{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->name}{/block} {block #content}

{if $class->interface}Interface{elseif $class->trait}Trait{else}Class{/if} {$class->shortName}

{if $class->valid}
{!$class|longDescription}
Extended by {if $item->documented} {last}{/last}{$item->name}{last}{/last} {else}{$item->name}{/if} {var $itemOwnInterfaces = $item->ownInterfaces} {if $itemOwnInterfaces} implements {foreach $itemOwnInterfaces as $interface} {$interface->name}{sep}, {/sep} {/foreach}{/if} {var $itemOwnTraits = $item->ownTraits} {if $itemOwnTraits} uses {foreach $itemOwnTraits as $trait} {$trait->name}{sep}, {/sep} {/foreach}{/if}
{define #children} {foreach $children as $child} {$child->name}{sep}, {/sep} {/foreach} {/define}

Direct known subclasses

{include #children, children => $directSubClasses}

Indirect known subclasses

{include #children, children => $indirectSubClasses}

Direct known implementers

{include #children, children => $directImplementers}

Indirect known implementers

{include #children, children => $indirectImplementers}

Direct Known Users

{include #children, children => $directUsers}

Indirect Known Users

{include #children, children => $indirectUsers}
{if !$class->interface && !$class->trait && ($class->abstract || $class->final)}{if $class->abstract}Abstract{else}Final{/if}
{/if} {if $class->internal}PHP Extension: {$class->extension->name|firstUpper}
{/if} {if $class->inNamespace()}Namespace: {!$class->namespaceName|namespaceLinks}
{/if} {if $class->inPackage()}Package: {!$class->packageName|packageLinks}
{/if} {foreach $template->annotationSort($template->annotationFilter($class->annotations)) as $annotation => $values} {foreach $values as $value} {$annotation|annotationBeautify}{if $value}:{/if} {!$value|annotation:$annotation:$class}
{/foreach} {/foreach} {if $class->internal}Documented at php.net{else}Located at {$class->fileName|relativePath}{/if}
{var $ownMethods = $class->ownMethods} {var $ownMagicMethods = $class->ownMagicMethods} {define #method} {var $annotations = $method->annotations} {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} {ifset $annotations['return']}{!$annotations['return'][0]|typeLinks:$method}{/ifset} {if $method->returnsReference()}&{/if}
# {block|strip} {if $class->internal} {$method->name}( {else} {$method->name}( {/if} {foreach $method->parameters as $parameter} {!$parameter->typeHint|typeLinks:$method} {if $parameter->passedByReference}& {/if}${$parameter->name}{if $parameter->defaultValueAvailable} = {!$parameter->defaultValueDefinition|highlightPHP:$class}{elseif $parameter->unlimited},…{/if}{sep}, {/sep} {/foreach} ){/block} {if $config->template['options']['elementDetailsCollapsed']}
{!$method|shortDescription:true}
{/if}
{!$method|longDescription} {if !$class->deprecated && $method->deprecated}

Deprecated

{ifset $annotations['deprecated']}
{foreach $annotations['deprecated'] as $description} {if $description} {!$description|annotation:'deprecated':$method}
{/if} {/foreach}
{/ifset} {/if} {if $method->parameters && isset($annotations['param'])}

Parameters

{foreach $method->parameters as $parameter}
${$parameter->name}{if $parameter->unlimited},…{/if}
{ifset $annotations['param'][$parameter->position]}{!$annotations['param'][$parameter->position]|annotation:'param':$method}{/ifset}
{/foreach}
{/if} {if isset($annotations['return']) && 'void' !== $annotations['return'][0]}

Returns

{foreach $annotations['return'] as $description} {!$description|annotation:'return':$method}
{/foreach}
{/if} {ifset $annotations['throws']}

Throws

{foreach $annotations['throws'] as $description} {!$description|annotation:'throws':$method}
{/foreach}
{/ifset} {foreach $template->annotationSort($template->annotationFilter($annotations, array('deprecated', 'param', 'return', 'throws'))) as $annotation => $descriptions}

{$annotation|annotationBeautify}

{foreach $descriptions as $description} {if $description} {!$description|annotation:$annotation:$method}
{/if} {/foreach}
{/foreach} {var $overriddenMethod = $method->overriddenMethod} {if $overriddenMethod}

Overrides

{/if} {var $implementedMethod = $method->implementedMethod} {if $implementedMethod}

Implementation of

{/if}
{/define} {foreach $ownMethods as $method} {include #method, method => $method} {/foreach}
Methods summary
Methods inherited from {$parentName}
{foreach $methods as $method} {$method->name}(){sep}, {/sep} {/foreach}
Methods used from {$traitName}
{foreach $methods as $data} {$data['method']->originalName}(){if $data['aliases']}(as {foreach $data['aliases'] as $alias}{$alias->name}(){sep}, {/sep}{/foreach}){/if}{sep}, {/sep} {/foreach}
{foreach $ownMagicMethods as $method} {include #method, method => $method} {/foreach}
Magic methods summary
Magic methods inherited from {$parentName}
{foreach $methods as $method} {$method->name}(){sep}, {/sep} {/foreach}
Magic methods used from {$traitName}
{foreach $methods as $data} {$data['method']->originalName}(){if $data['aliases']}(as {foreach $data['aliases'] as $alias}{$alias->name}(){sep}, {/sep}{/foreach}){/if}{sep}, {/sep} {/foreach}
{var $ownConstants = $class->ownConstants} {var $annotations = $constant->annotations}
Constants summary
{!$constant->typeHint|typeLinks:$constant} {if $class->internal} {$constant->name} {else} {$constant->name} {/if} {!$constant->valueDefinition|highlightValue:$class}
# {if $config->template['options']['elementDetailsCollapsed']}
{!$constant|shortDescription:true}
{/if}
{!$constant|longDescription} {foreach $template->annotationSort($template->annotationFilter($annotations, array('var'))) as $annotation => $descriptions}

{$annotation|annotationBeautify}

{foreach $descriptions as $description} {if $description} {!$description|annotation:$annotation:$constant}
{/if} {/foreach}
{/foreach}
Constants inherited from {$parentName}
{foreach $constants as $constant} {$constant->name}{sep}, {/sep} {/foreach}
{define #property} {if $property->protected}protected{elseif $property->private}private{else}public{/if} {if $property->static}static{/if} {if $property->readOnly}read-only{elseif $property->writeOnly}write-only{/if} {!$property->typeHint|typeLinks:$property} {if $class->internal} ${$property->name} {else} ${$property->name} {/if} {!$property->defaultValueDefinition|highlightValue:$class}
# {if $config->template['options']['elementDetailsCollapsed']}
{!$property|shortDescription:true}
{/if}
{!$property|longDescription} {foreach $template->annotationSort($template->annotationFilter($property->annotations, array('var'))) as $annotation => $descriptions}

{$annotation|annotationBeautify}

{foreach $descriptions as $description} {if $description} {!$description|annotation:$annotation:$property}
{/if} {/foreach}
{/foreach}
{/define} {var $ownProperties = $class->ownProperties} {var $ownMagicProperties = $class->ownMagicProperties} {foreach $ownProperties as $property} {include #property, property => $property} {/foreach}
Properties summary
Properties inherited from {$parentName}
{foreach $properties as $property} ${$property->name}{sep}, {/sep} {/foreach}
Properties used from {$traitName}
{foreach $properties as $property} ${$property->name}{sep}, {/sep} {/foreach}
{foreach $ownMagicProperties as $property} {include #property, property => $property} {/foreach}
Magic properties summary
Magic properties inherited from {$parentName}
{foreach $properties as $property} ${$property->name}{sep}, {/sep} {/foreach}
Magic properties used from {$traitName}
{foreach $properties as $property} ${$property->name}{sep}, {/sep} {/foreach}
{else}

Documentation of this class could not be generated.

Class was originally declared in {$class->fileName|relativePath} and is invalid because of:

{/if}
{/block}