protected function _createHandlerCode() { $code = ''; $methods = lmbReflectionHelper::getMethods($this->_class); $base_methods = lmbReflectionHelper::getMethods($this->_decorator_base); foreach ($methods as $method) { if ($this->_isMagicMethod($method)) { continue; } if (in_array($method, $base_methods)) { continue; } $code .= " " . lmbReflectionHelper::getSignature($this->_class, $method) . " {\n"; $code .= " \$args = func_get_args();\n"; $code .= " return \$this->___invoke(\"{$method}\", \$args);\n"; $code .= " }\n"; } return $code; }
private static function _createHandlerCode($decoratee_class, $decorator_class, $events_handler) { $code = ''; $methods = lmbReflectionHelper::getOverridableMethods($decoratee_class); foreach ($methods as $method) { if (self::_isSkipMethod($method)) { continue; } $code .= " " . lmbReflectionHelper::getSignature($decoratee_class, $method) . " {" . PHP_EOL; $code .= " \$args = func_get_args();" . PHP_EOL; $code .= $events_handler->onMethod($method) . PHP_EOL; $code .= " }" . PHP_EOL . PHP_EOL; } $code .= $events_handler->onExtra(); return $code; }