AbstractClassElementGenerator
extends AbstractGenerator
in package
uses
NameTrait, DocblockTrait, AttributesTrait
Abstract class generator class
Tags
Table of Contents
Constants
- VALID_VISIBILITIES = ['public', 'protected', 'private']
- Valid visibility values
Properties
- $attributes : array<string|int, mixed>
- Attributes. An indexed list, not keyed by name — attributes can legitimately repeat (Attribute::IS_REPEATABLE), so a name-keyed map would silently collapse repeats.
- $docblock : DocblockGenerator|null
- Docblock generator object
- $indent : int
- Code indent spaces
- $name : string|null
- Name
- $output : string|null
- Output string
- $static : bool
- Static flag
- $visibility : string
- Visibility
Methods
- addAttribute() : static
- Add an attribute
- addAttributes() : static
- Add attributes
- getAttributes() : array<string|int, mixed>
- Get all attributes
- getAttributesByName() : array<string|int, mixed>
- Get all attributes with the given name (supports repeated attributes)
- getDesc() : string|null
- Get the docblock description
- getDocblock() : DocblockGenerator|null
- Access the docblock generator object
- getIndent() : int
- Get the indent
- getName() : string|null
- Get the name
- getOutput() : string|null
- Get the output
- getVisibility() : string
- Get the visibility
- hasAttribute() : bool
- Has an attribute with the given name
- hasAttributes() : bool
- Has attributes
- hasDesc() : bool
- Has a docblock description
- hasDocblock() : bool
- Has docblock generator object
- hasIndent() : bool
- Has indent
- hasName() : bool
- Get the name
- hasOutput() : bool
- Has output
- isPrivate() : bool
- Set the visibility to private
- isProtected() : bool
- Set the visibility to protected
- isPublic() : bool
- Is visibility public
- isRendered() : bool
- Is rendered (alias to hasOutput())
- isStatic() : bool
- Get the static flag
- printIndent() : string
- Print the indent
- removeAttribute() : static
- Remove an attribute (by instance identity — there is no unique name to remove by)
- render() : string
- Render method
- setAsPrivate() : AbstractClassElementGenerator
- Set the visibility to public
- setAsProtected() : AbstractClassElementGenerator
- Set the visibility to protected
- setAsPublic() : AbstractClassElementGenerator
- Set the visibility to public
- setAsStatic() : AbstractClassElementGenerator
- Set the static flag
- setDesc() : static
- Set the docblock description
- setDocblock() : static
- Set the docblock generator object
- setIndent() : AbstractGenerator
- Set the indent
- setName() : static
- Set the name
- setVisibility() : AbstractClassElementGenerator
- Set the visibility
- formatAttributes() : string
- Format the attributes
Constants
VALID_VISIBILITIES
Valid visibility values
protected
array<string|int, mixed>
VALID_VISIBILITIES
= ['public', 'protected', 'private']
Properties
$attributes
Attributes. An indexed list, not keyed by name — attributes can legitimately repeat (Attribute::IS_REPEATABLE), so a name-keyed map would silently collapse repeats.
protected
array<string|int, mixed>
$attributes
= []
$docblock
Docblock generator object
protected
DocblockGenerator|null
$docblock
= null
$indent
Code indent spaces
protected
int
$indent
= 4
$name
Name
protected
string|null
$name
= null
$output
Output string
protected
string|null
$output
= null
$static
Static flag
protected
bool
$static
= false
$visibility
Visibility
protected
string
$visibility
= 'public'
Methods
addAttribute()
Add an attribute
public
addAttribute(AttributeGenerator $attribute) : static
Parameters
- $attribute : AttributeGenerator
Return values
staticaddAttributes()
Add attributes
public
addAttributes(array<string|int, mixed> $attributes) : static
Parameters
- $attributes : array<string|int, mixed>
Return values
staticgetAttributes()
Get all attributes
public
getAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>getAttributesByName()
Get all attributes with the given name (supports repeated attributes)
public
getAttributesByName(string $name) : array<string|int, mixed>
Parameters
- $name : string
Return values
array<string|int, mixed>getDesc()
Get the docblock description
public
getDesc() : string|null
Return values
string|nullgetDocblock()
Access the docblock generator object
public
getDocblock() : DocblockGenerator|null
Return values
DocblockGenerator|nullgetIndent()
Get the indent
public
getIndent() : int
Return values
intgetName()
Get the name
public
getName() : string|null
Return values
string|nullgetOutput()
Get the output
public
getOutput() : string|null
Return values
string|nullgetVisibility()
Get the visibility
public
getVisibility() : string
Return values
stringhasAttribute()
Has an attribute with the given name
public
hasAttribute(string $name) : bool
Parameters
- $name : string
Return values
boolhasAttributes()
Has attributes
public
hasAttributes() : bool
Return values
boolhasDesc()
Has a docblock description
public
hasDesc() : bool
Return values
boolhasDocblock()
Has docblock generator object
public
hasDocblock() : bool
Return values
boolhasIndent()
Has indent
public
hasIndent() : bool
Return values
boolhasName()
Get the name
public
hasName() : bool
Return values
boolhasOutput()
Has output
public
hasOutput() : bool
Return values
boolisPrivate()
Set the visibility to private
public
isPrivate() : bool
Return values
boolisProtected()
Set the visibility to protected
public
isProtected() : bool
Return values
boolisPublic()
Is visibility public
public
isPublic() : bool
Return values
boolisRendered()
Is rendered (alias to hasOutput())
public
isRendered() : bool
Return values
boolisStatic()
Get the static flag
public
isStatic() : bool
Return values
boolprintIndent()
Print the indent
public
printIndent() : string
Return values
stringremoveAttribute()
Remove an attribute (by instance identity — there is no unique name to remove by)
public
removeAttribute(AttributeGenerator $attribute) : static
Parameters
- $attribute : AttributeGenerator
Return values
staticrender()
Render method
public
abstract render() : string
Return values
stringsetAsPrivate()
Set the visibility to public
public
setAsPrivate() : AbstractClassElementGenerator
Tags
Return values
AbstractClassElementGeneratorsetAsProtected()
Set the visibility to protected
public
setAsProtected() : AbstractClassElementGenerator
Tags
Return values
AbstractClassElementGeneratorsetAsPublic()
Set the visibility to public
public
setAsPublic() : AbstractClassElementGenerator
Tags
Return values
AbstractClassElementGeneratorsetAsStatic()
Set the static flag
public
setAsStatic([bool $static = true ]) : AbstractClassElementGenerator
Parameters
- $static : bool = true
Return values
AbstractClassElementGeneratorsetDesc()
Set the docblock description
public
setDesc([string|null $desc = null ]) : static
Parameters
- $desc : string|null = null
Return values
staticsetDocblock()
Set the docblock generator object
public
setDocblock(DocblockGenerator $docblock) : static
Parameters
- $docblock : DocblockGenerator
Return values
staticsetIndent()
Set the indent
public
setIndent(int $indent) : AbstractGenerator
Parameters
- $indent : int
Return values
AbstractGeneratorsetName()
Set the name
public
setName(string $name) : static
Parameters
- $name : string
Return values
staticsetVisibility()
Set the visibility
public
setVisibility([string $visibility = 'public' ]) : AbstractClassElementGenerator
Parameters
- $visibility : string = 'public'
Tags
Return values
AbstractClassElementGeneratorformatAttributes()
Format the attributes
protected
formatAttributes([bool $indented = true ]) : string
Parameters
- $indented : bool = true