class bar extends \ILLI\Net\Message {}
class foo extends \ILLI\Net\Message {}
class bob extends \ILLI\Net\Message {}
class baz extends \ILLI\Core\StaticObject
{
protected static $__autoConfig = ['username'];
protected static $username = NULL;
public static function reseiveMyWorld($property, $value)
{
return static::aspectable(__FUNCTION__, get_defined_vars(), function($property, $value)
{
static::$baz = [__METHOD__ => get_defined_vars()];
return get_defined_vars();
});
}
public static function aspectableSetUsername($value)
{
static::$username = $value;
}
}
$foo = new foo;
$bar = new bar;
$bob = new bob;
baz::construct();
baz::registerSignal('aspectableSetUsername', baz::T_SIGNAL_EMIT_EVENT_INIT, 499, [$bob, 'propertySet']);
$foo->registerSignal('aspectableSetUsername', bar::T_SIGNAL_EMIT_EVENT_INIT, 500, [$bar, 'propertySet']);
$foo->registerSignal('propertySet', bar::T_SIGNAL_EMIT_EVENT_INIT, 500, [$bob, 'propertySet']);
$foo->scheme = 'http';
$foo->host = 'localfrost';
$foo->username = 'fruffl';
$foo->password = '12345';
baz::propertySet('username', 'foooooooooooooooo');
var_dump($foo->propertyCompact(['username', 'host']));
var_dump($bar->propertyCompact(['username', 'host']));
var_dump($bob->propertyCompact(['username', 'host']));
var_dump(baz::propertyCompact(['username']));
/*
array(2) {
["username"]=>
string(6) "fruffl"
["host"]=>
string(10) "localfrost"
}
array(2) {
["username"]=>
string(6) "fruffl"
["host"]=>
string(9) "localhost"
}
array(2) {
["username"]=>
string(17) "foooooooooooooooo"
["host"]=>
string(10) "localfrost"
}
array(1) {
["username"]=>
string(17) "foooooooooooooooo"
}
Comments