Class DibiObject
DibiObject is the ultimate ancestor of all instantiable classes.
DibiObject 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);
Direct Known Subclasses
DibiColumnInfo, DibiConnection, DibiDatabaseInfo, DibiDataSource, DibiFirebirdDriver, DibiFluent, DibiForeignKeyInfo, DibiIndexInfo, DibiMsSql2005Driver, DibiMsSqlDriver, DibiMySqlDriver, DibiMySqliDriver, DibiOdbcDriver, DibiOracleDriver, DibiPdoDriver, DibiPostgreDriver, DibiProfiler, DibiResult, DibiResultInfo, DibiSqlite3Driver, DibiSqliteDriver, DibiTableInfo, DibiTranslator
final public
string
|
#
getClass(
)
Returns the name of the class of this object. Returns the name of the class of this object. |
final public
\ReflectionObject
|
#
getReflection(
)
Access to reflection. Access to reflection. |
public
mixed
|
#
__call(
string
$name,
array
$args
)
Call to undefined method. Call to undefined method. Parameters$name string method name$args array argumentsThrows
\MemberAccessException
|
public static
mixed
|
#
__callStatic(
string
$name,
array
$args
)
Call to undefined static method. Call to undefined static method. Parameters$name string method name (in lower case!)$args array argumentsThrows
\MemberAccessException
|
public static
mixed
|
#
extensionMethod(
string
$name,
mixed
$callback = NULL
)
Adding method to class. Adding method to class. Parameters$name string method name$callback mixed callback or closure |
public
mixed
&
|
#
__get(
string
$name
)
Returns property value. Do not call directly. Returns property value. Do not call directly. Parameters$name string property nameReturnsmixed property value
Throws
\MemberAccessException if the property is not defined.
|
public
void
|
#
__set(
string
$name,
mixed
$value
)
Sets value of a property. Do not call directly. Sets value of a property. Do not call directly. Parameters$name string property name$value mixed property valueThrows
\MemberAccessException if the property is not defined or is read-only
|
public
bool
|
#
__isset(
string
$name
)
Is property defined? Is property defined? Parameters$name string property name |
public
void
|
#
__unset(
string
$name
)
Access to undeclared property. Access to undeclared property. Parameters$name string property nameThrows
\MemberAccessException
|