Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $foo = new \ILLI\System\Rand(15);
- $foo->virtualMethodAdd('myFunkyGetter', function($val) use ($foo)
- {
- return $foo->getCollection()->offsetGet($val);
- });
- $foo->virtualMethodAdd('anotherSetter', function($index, $val) use ($foo)
- {
- return $foo->getCollection()->offsetSet($index, '_________'.$val);
- });
- $foo->adapterRegisterTriggerMethod(get_parent_class($foo).'::__set', get_class($foo).'::anotherSetter');
- $foo->baz = 'bar';
- var_dump($foo->myFunkyGetter('baz')); // string(12) "_________bar"
- var_dump($foo);
- /*
- object(ILLI\System\Rand)#19 (14) {
- ["__handler":"ILLI\System\Rand":private]=>
- int(53)
- ["__value":"ILLI\System\Rand":private]=>
- string(20) "iwXBnvvkbeahHcANzybm"
- ["__Collection":protected]=>
- object(ILLI\System\Collection)#21 (6) {
- ["__data":"ILLI\System\Collection":private]=>
- array(1) {
- ["baz"]=>
- string(12) "_________bar"
- }
- ["__offsets":"ILLI\System\Collection":private]=>
- array(1) {
- [0]=>
- string(3) "baz"
- }
- ["__indexes":"ILLI\System\Collection":private]=>
- array(1) {
- ["baz"]=>
- int(0)
- }
- ["__iteratorIndex":"ILLI\System\Collection":private]=>
- int(0)
- ["__lastOffsetUpdate":"ILLI\System\Collection":private]=>
- string(3) "baz"
- ["__lastOffsetInsert":"ILLI\System\Collection":private]=>
- NULL
- }
- ["__tSplHashRegister_Address":"ILLI\System\Object":private]=>
- string(32) "0000000069be63820000000065699d75"
- ["__tAdapter_tracesEnabled":"ILLI\System\Object":private]=>
- bool(false)
- ["__tAdapter_traces":"ILLI\System\Object":private]=>
- array(0) {
- }
- ["__tAdapter_hook":protected]=>
- array(1) {
- ["ILLI\System\Object::__set"]=>
- object(ILLI\System\AdapterAlias)#30 (2) {
- ["__TRIGGER":"ILLI\System\AdapterAlias":private]=>
- object(ILLI\System\Method)#32 (3) {
- ["__class":protected]=>
- string(18) "ILLI\System\Object"
- ["__function":protected]=>
- string(5) "__set"
- ["__method":protected]=>
- string(25) "ILLI\System\Object::__set"
- }
- ["__ALIAS":"ILLI\System\AdapterAlias":private]=>
- object(ILLI\System\InvokeMethod)#34 (2) {
- ["__Instance":"ILLI\System\InvokeMethod":private]=>
- *RECURSION*
- ["__Callable":protected]=>
- object(ILLI\System\Method)#35 (3) {
- ["__class":protected]=>
- string(16) "ILLI\System\Rand"
- ["__function":protected]=>
- string(13) "anotherSetter"
- ["__method":protected]=>
- string(31) "ILLI\System\Rand::anotherSetter"
- }
- }
- }
- }
- ["__tObserver_tracesEnabled":"ILLI\System\Object":private]=>
- bool(false)
- ["__tObserver_traces":"ILLI\System\Object":private]=>
- array(0) {
- }
- ["__tObserver_hook":protected]=>
- array(0) {
- }
- ["__tFilter_tracesEnabled":"ILLI\System\Object":private]=>
- bool(false)
- ["__tFilter_traces":"ILLI\System\Object":private]=>
- array(0) {
- }
- ["__tFilter_hook":protected]=>
- array(0) {
- }
- ["__tVirtualMethod_hook":protected]=>
- array(1) {
- ["ILLI\System\Rand"]=>
- array(2) {
- ["myFunkyGetter"]=>
- object(ILLI\System\InvokeClosure)#26 (1) {
- ["__Callable":protected]=>
- object(Closure)#22 (2) {
- ["static"]=>
- array(1) {
- ["foo"]=>
- *RECURSION*
- }
- ["parameter"]=>
- array(1) {
- ["$val"]=>
- string(10) "<required>"
- }
- }
- }
- ["anotherSetter"]=>
- object(ILLI\System\InvokeClosure)#28 (1) {
- ["__Callable":protected]=>
- object(Closure)#27 (2) {
- ["static"]=>
- array(1) {
- ["foo"]=>
- *RECURSION*
- }
- ["parameter"]=>
- array(2) {
- ["$index"]=>
- string(10) "<required>"
- ["$val"]=>
- string(10) "<required>"
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement