Class_
        
        extends Declaration
    
    
            
            in package
            
        
    
    
    
Table of Contents
Properties
- $attributeGroups : array<int, AttributeGroup>
- $attributes : array<string, mixed>
- $constants : array<int, ClassConst>
- $extends : Name|null
- $flags : int
- $implements : array<int, Name>
- $methods : array<int, ClassMethod>
- $name : string
- $properties : array<int, Property>
- $uses : array<int, TraitUse>
Methods
- __construct() : mixed
- Creates a class builder.
- addAttribute() : $this
- Adds an attribute group.
- addStmt() : $this
- Adds a statement.
- addStmts() : $this
- Adds multiple statements.
- extend() : $this
- Extends a class.
- getNode() : Class_
- Returns the built class node.
- implement() : $this
- Implements one or more interfaces.
- makeAbstract() : $this
- Makes the class abstract.
- makeFinal() : $this
- Makes the class final.
- makeReadonly() : $this
- Makes the class readonly.
- setDocComment() : $this
- Sets doc comment for the declaration.
Properties
$attributeGroups
    protected
        array<int, AttributeGroup>
    $attributeGroups
     = []
    
    
    
$attributes
    protected
        array<string, mixed>
    $attributes
     = []
    
    
    
$constants
    protected
        array<int, ClassConst>
    $constants
     = []
    
    
    
$extends
    protected
        Name|null
    $extends
     = null
    
    
    
$flags
    protected
        int
    $flags
     = 0
    
    
    
$implements
    protected
        array<int, Name>
    $implements
     = []
    
    
    
$methods
    protected
        array<int, ClassMethod>
    $methods
     = []
    
    
    
$name
    protected
        string
    $name
    
    
    
    
$properties
    protected
        array<int, Property>
    $properties
     = []
    
    
    
$uses
    protected
        array<int, TraitUse>
    $uses
     = []
    
    
    
Methods
__construct()
Creates a class builder.
    public
                    __construct(string $name) : mixed
    Parameters
- $name : string
- 
                    Name of the class 
addAttribute()
Adds an attribute group.
    public
                    addAttribute(Attribute|AttributeGroup $attribute) : $this
    Parameters
- $attribute : Attribute|AttributeGroup
Return values
$this —The builder instance (for fluid interface)
addStmt()
Adds a statement.
    public
                    addStmt(Stmt|Builder $stmt) : $this
    Parameters
Return values
$this —The builder instance (for fluid interface)
addStmts()
Adds multiple statements.
    public
                    addStmts(array<string|int, Stmt|Builder> $stmts) : $this
    Parameters
Return values
$this —The builder instance (for fluid interface)
extend()
Extends a class.
    public
                    extend(Name|string $class) : $this
    Parameters
- $class : Name|string
- 
                    Name of class to extend 
Return values
$this —The builder instance (for fluid interface)
getNode()
Returns the built class node.
    public
                    getNode() : Class_
    Return values
Class_ —The built class node
implement()
Implements one or more interfaces.
    public
                    implement(Name|string ...$interfaces) : $this
    Parameters
- $interfaces : Name|string
- 
                    Names of interfaces to implement 
Return values
$this —The builder instance (for fluid interface)
makeAbstract()
Makes the class abstract.
    public
                    makeAbstract() : $this
    Return values
$this —The builder instance (for fluid interface)
makeFinal()
Makes the class final.
    public
                    makeFinal() : $this
    Return values
$this —The builder instance (for fluid interface)
makeReadonly()
Makes the class readonly.
    public
                    makeReadonly() : $this
    Return values
$this —The builder instance (for fluid interface)
setDocComment()
Sets doc comment for the declaration.
    public
                    setDocComment(Doc|string $docComment) : $this
    Parameters
- $docComment : Doc|string
- 
                    Doc comment to set 
Return values
$this —The builder instance (for fluid interface)