protected function _createClassCode() { $implements = ''; $interfaces = lmbReflectionHelper::getInterfaces($this->_class); if (function_exists('spl_classes')) { $interfaces = array_diff($interfaces, array('Traversable')); } if (count($interfaces) > 0) { $implements = 'implements ' . implode(', ', $interfaces); } $code = "class " . $this->_decorator_class . " extends " . $this->_decorator_base . " {$implements} {\n"; $code .= " function __construct(\$original) {\n"; $code .= " parent :: __construct(\$original);\n"; $code .= " }\n"; $code .= $this->_createHandlerCode(); $code .= "}\n"; return $code; }