TexyObject
abstract class TexyObject
TexyObject is the ultimate ancestor of all instantiable classes.
TexyObject is copy of Nette\Object from Nette Framework (http://nette.org).
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 and optional 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);
Methods
Returns the name of the class of this object.
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 60
final string
getClass()
Returns the name of the class of this object.
at line 71
final ReflectionObject
getReflection()
Access to reflection.
at line 85
mixed
__call($name, $args)
Call to undefined method.
at line 130
static mixed
__callStatic($name, $args)
Call to undefined static method.
at line 144
static mixed
extensionMethod($name, $callback = NULL)
Adding method to class.
at line 208
mixed
__get($name)
Returns property value. Do not call directly.
at line 246
void
__set($name, $value)
Sets value of a property. Do not call directly.
at line 279
bool
__isset($name)
Is property defined?
at line 293
void
__unset($name)
Access to undeclared property.