Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }