abstract class Component implements IComponent

Component is the base class for all components.

Components are objects implementing IComponent. They has parent component and own name.

Properties

string read-only $name
IContainer|null read-only $parent

Methods

IComponent|null
lookup(string|null $type, bool $throw = true)

Finds the closest ancestor specified by class or interface name.

string|null
lookupPath(string $type = null, bool $throw = true)

Finds the closest ancestor specified by class or interface name and returns backtrace path.

void
monitor(string $type, callable $attached = null, callable $detached = null)

Starts monitoring of ancestors.

void
unmonitor(string $type)

Stops monitoring of ancestors.

void
attached(IComponent $obj) deprecated

This method will be called when the component (or component's parent) becomes attached to a monitored object. Do not call this method yourself.

void
detached(IComponent $obj) deprecated

This method will be called before the component (or component's parent) becomes detached from a monitored object. Do not call this method yourself.

string|null
getName()

No description

IContainer|null
getParent()

Returns the parent container if any.

setParent(IContainer|null $parent, string $name = null)

Sets or removes the parent of this component. This method is managed by containers and should not be called by applications

void
validateParent(IContainer $parent)

Is called by a component when it is about to be set new parent. Descendant can override this method to disallow a parent change by throwing an Nette\InvalidStateException

__clone()

Object cloning.

__sleep()

Prevents serialization.

__wakeup()

Prevents unserialization.

Details

at line 41
final IComponent|null lookup(string|null $type, bool $throw = true)

Finds the closest ancestor specified by class or interface name.

Parameters

string|null $type
bool $throw

throw exception if component doesn't exist?

Return Value

IComponent|null

at line 83
final string|null lookupPath(string $type = null, bool $throw = true)

Finds the closest ancestor specified by class or interface name and returns backtrace path.

A path is the concatenation of component names separated by self::NAME_SEPARATOR.

Parameters

string $type
bool $throw

Return Value

string|null

at line 93
final void monitor(string $type, callable $attached = null, callable $detached = null)

Starts monitoring of ancestors.

Parameters

string $type
callable $attached
callable $detached

Return Value

void

at line 113
final void unmonitor(string $type)

Stops monitoring of ancestors.

Parameters

string $type

Return Value

void

at line 124
protected void attached(IComponent $obj) deprecated

deprecated use monitor($type, $attached)

This method will be called when the component (or component's parent) becomes attached to a monitored object. Do not call this method yourself.

Parameters

IComponent $obj

Return Value

void

at line 134
protected void detached(IComponent $obj) deprecated

deprecated use monitor($type, null, $detached)

This method will be called before the component (or component's parent) becomes detached from a monitored object. Do not call this method yourself.

Parameters

IComponent $obj

Return Value

void

at line 142
final string|null getName()

No description

Return Value

string|null

at line 151
final IContainer|null getParent()

Returns the parent container if any.

Return Value

IContainer|null

at line 164
IComponent setParent(IContainer|null $parent, string $name = null)

internal  
 

Sets or removes the parent of this component. This method is managed by containers and should not be called by applications

Parameters

IContainer|null $parent
string $name

Return Value

IComponent

Exceptions

InvalidStateException

at line 203
protected void validateParent(IContainer $parent)

Is called by a component when it is about to be set new parent. Descendant can override this method to disallow a parent change by throwing an Nette\InvalidStateException

Parameters

IContainer $parent

Return Value

void

Exceptions

InvalidStateException

at line 280
__clone()

Object cloning.

at line 301
final __sleep()

Prevents serialization.

at line 310
final __wakeup()

Prevents unserialization.

Traits

Strict class for better experience.