<?php
class Example {
function RunEvent($event) {
if (isset($this->events[$event])) {
foreach ($this->events[$event] as $k => $v) {
//call_user_func($v, &$this);
// The above line is working code on PHP 5.3.3, but
// throws a parse error on PHP 5.5.3.
call_user_func($v, $this);
}
}
}
}
$e = new Example;
$e->events['example'][] = 'with_ref';
$e->events['example'][] = 'without_ref';
$e->RunEvent('example');
function with_ref($e) {
$e->with_ref = true;
}
function without_ref($e) {
$e->without_ref = true;
}
print_r($e);
Deprecated: Creation of dynamic property Example::$events is deprecated in /in/rThG0 on line 18
Deprecated: Creation of dynamic property Example::$with_ref is deprecated in /in/rThG0 on line 22
Deprecated: Creation of dynamic property Example::$without_ref is deprecated in /in/rThG0 on line 25
Example Object
(
[events] => Array
(
[example] => Array
(
[0] => with_ref
[1] => without_ref
)
)
[with_ref] => 1
[without_ref] => 1
)