static function registerErrorHandler() { $delegate = func_get_args(); set_error_handler(array(lmbDelegate::objectify($delegate), 'invoke')); }
/** * Invoke all delegates containing in the chain. * Stops invoking if delegate return a not null result * */ function invoke() { $args = func_get_args(); return lmbDelegate::invokeChain($this->delegates, $args); }
protected function _invokeListeners($type) { if (isset($this->_listeners[$type])) { lmbDelegate::invokeAll($this->_listeners[$type], array($this)); } if (isset(self::$_global_listeners[$type])) { lmbDelegate::invokeAll(self::$_global_listeners[$type], array($this)); } }
function testEqual() { $s1 = new DelegateTestingStub(); $s2 = new DelegateTestingStub(); $d1 = new lmbDelegate($s1, 'instanceMethod'); $d2 = new lmbDelegate($s2, 'instanceReturningMethod'); $d3 = new lmbDelegate($s1, 'instanceMethod'); $d4 = new lmbDelegate($s1, 'instanceReturningMethod'); $d5 = new lmbDelegate('DelegateTestingStubFunction'); $d6 = new lmbDelegate('DelegateTestingStubFunction'); $this->assertFalse($d1->equal($d2)); $this->assertTrue($d1->equal($d3)); $this->assertFalse($d1->equal($d4)); $this->assertFalse($d1->equal($d6)); $this->assertTrue($d5->equal($d6)); }