FILE FOUND IN $path
"; **/
include(realpath($path));
return;
} else {
/** echo "
NO FILE IN $path
"; **/
}
}
}
spl_autoload_register('DcAutoloader');
}
class A implements Observer {
public function __construct() {
Hook::registerEventListener($this,'B.changed');
}
public function notify($eventName, $data)
{
echo 'Event Name ' . $eventName . ' called with data ' . print_r($data,true);
}
}
class B {
use hookableTrait;
public function __construct() {
$this->prop3 = (object)$this->prop3;
}
private $prop1 = 'initProp1';
private $prop2 = 0;
private $prop3 = ['testObjectProp' => 'testObjectPropValue'];
public function setProp1($prop1) {
$this->prop1 = $prop1;
$this->updateHooks('changed',$this);
}
public function setProp2($prop2) {
$this->prop2 = $prop2;
$this->updateHooks('changed',$this);
}
public function setProp3($prop3) {
$this->prop3 = $prop3;
$this->updateHooks('changed',$this);
}
}
class C extends B {
private $prop4 = 'initProp4';
public function setProp4($prop4) {
$this->prop4 = $prop4;
$this->updateHooks('changed',$this);
}
}
$observer = new A();
$observed = new B();
$observedExt = new C();
$observed->setProp1('newProp1Value');
$observed->setProp2(1);
$observed->setProp3((object)['testObjectNewProp' => 'testObjectNewPropValue']);
$observedExt->setProp4('newProp4Value');