Object
abstract class Object
Nette\Object is the ultimate ancestor of all instantiable classes.
It defines some handful methods and enhances object core of PHP:
- access to undeclared members throws exceptions
- support for conventional properties with getters and setters
- support for event raising functionality
- ability to add new methods to class (extension methods)
Properties is a syntactic sugar which allows access public getter and setter methods as normal object variables. A property is defined by a getter method or setter method (no setter method means read-only property).
$val = $obj->label; // equivalent to $val = $obj->getLabel();
$obj->label = 'Nette'; // equivalent to $obj->setLabel('Nette');
Property names are case-sensitive, and they are written in the camelCaps or PascalCaps.
Event functionality is provided by declaration of property named 'on{Something}' Multiple handlers are allowed.
public $onClick; // declaration in class
$this->onClick[] = 'callback'; // attaching event handler
if (!empty($this->onClick)) ... // are there any handlers?
$this->onClick($sender, $arg); // raises the event with arguments
Adding method to class (i.e. to all instances) works similar to JavaScript prototype property. The syntax for adding a new method is:
MyClass::extensionMethod('newMethod', function (MyClass $obj, $arg, ...) { ... });
$obj = new MyClass;
$obj->newMethod($x);
Properties
ClassType|ReflectionClass read-only | $reflection |
Methods
Access to reflection.
Call to undefined method.
Call to undefined static method.
Adding method to class.
Returns property value. Do not call directly.
Sets value of a property. Do not call directly.
Is property defined?
Access to undeclared property.
Details
at line 58
static ClassType|ReflectionClass
getReflection()
Access to reflection.
at line 72
mixed
__call($name, $args)
Call to undefined method.
at line 85
static mixed
__callStatic($name, $args)
Call to undefined static method.
at line 97
static mixed
extensionMethod($name, $callback = NULL)
Adding method to class.
at line 120
mixed
__get($name)
Returns property value. Do not call directly.
at line 133
void
__set($name, $value)
Sets value of a property. Do not call directly.
at line 144
bool
__isset($name)
Is property defined?
at line 156
void
__unset($name)
Access to undeclared property.