diff options
Diffstat (limited to 'Zend/RFCs')
-rw-r--r-- | Zend/RFCs/004.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Zend/RFCs/004.txt b/Zend/RFCs/004.txt index 6d973698ef..1e120ce306 100644 --- a/Zend/RFCs/004.txt +++ b/Zend/RFCs/004.txt @@ -74,3 +74,34 @@ Fixed Delegation where locally defined or inherited from a superclass. The difference to the dynamic delegation is that once the delegatee object is set, it cannot be changed. + + +Default Delegation + + Syntax / Example + + <?php + class Foo { + function __delegate($name, $parameters = array()) { + echo $name; + } + } + + $foo = new Foo; + $foo->bar(); /* prints "bar" */ + ?> + + Semantics / Synopsis + + If a class has a __delegate() method, it is called whenever a + method on an object of this class is called that is + + * Not defined in the class. + + * Not provided by a delegatee object. + + The __delegate() method is called with the name and parameters + of the method call. + + This supersedes / obsoletes similar functionality introduced in + Zend Engine 1 by ext/overload. |