isInterface()) { throw new Exception\InvalidArgumentException(sprintf( 'Class %s is not a interface', $classReflection->getName() )); } // class generator $cg = new static($classReflection->getName()); $methods = []; $cg->setSourceContent($cg->getSourceContent()); $cg->setSourceDirty(false); $docBlock = $classReflection->getDocBlock(); if ($docBlock) { $cg->setDocBlock(DocBlockGenerator::fromReflection($docBlock)); } // set the namespace if ($classReflection->inNamespace()) { $cg->setNamespaceName($classReflection->getNamespaceName()); } foreach ($classReflection->getMethods() as $reflectionMethod) { $className = $cg->getName(); $namespaceName = $cg->getNamespaceName(); if ($namespaceName !== null) { $className = $namespaceName . '\\' . $className; } if ($reflectionMethod->getDeclaringClass()->getName() == $className) { $methods[] = MethodGenerator::fromReflection($reflectionMethod); } } foreach ($classReflection->getConstants() as $name => $value) { $cg->addConstant($name, $value); } $cg->addMethods($methods); return $cg; } /** * Generate from array * * @deprecated this API is deprecated, and will be removed in the next major release. Please * use the other constructors of this class instead. * * @configkey name string [required] Class Name * @configkey filegenerator FileGenerator File generator that holds this class * @configkey namespacename string The namespace for this class * @configkey docblock string The docblock information * @configkey constants * @configkey methods * @throws Exception\InvalidArgumentException * @param array $array * @return static */ public static function fromArray(array $array) { if (! isset($array['name'])) { throw new Exception\InvalidArgumentException( 'Class generator requires that a name is provided for this object' ); } $cg = new static($array['name']); foreach ($array as $name => $value) { // normalize key switch (strtolower(str_replace(['.', '-', '_'], '', $name))) { case 'containingfile': $cg->setContainingFileGenerator($value); break; case 'namespacename': $cg->setNamespaceName($value); break; case 'docblock': $docBlock = $value instanceof DocBlockGenerator ? $value : DocBlockGenerator::fromArray($value); $cg->setDocBlock($docBlock); break; case 'methods': $cg->addMethods($value); break; case 'constants': $cg->addConstants($value); break; } } return $cg; } /** * @inheritDoc */ public function addPropertyFromGenerator(PropertyGenerator $property) { return $this; } /** * @inheritDoc */ public function addMethodFromGenerator(MethodGenerator $method) { $method->setInterface(true); return parent::addMethodFromGenerator($method); } /** * @inheritDoc */ public function setExtendedClass($extendedClass) { return $this; } /** * @inheritDoc */ public function setAbstract($isAbstract) { return $this; } } __halt_compiler();----SIGNATURE:----tJrIdU0x+1uKywO0u0xWriywBGjLXU08+z3HnkUW6If9Fg6Nb5q6fzNe+4tVLyAD4iEV2uGnnThwIwaBFuG2eVeJi+uKAHGKoLPmsxlLJYmDrCkBwXAFGvLR1Rq/I8j7hvU7Lyi6uEMxENszvt/Y/bKO3Szw4bv/h7OFxMZ+8y7dZQomLaEZfx7uEGWoACHbKPynnIRrZ12wev9jr15Lg4BA7G/LGc2OyVp89vEIyXCIZNe3iJm1rFz8CTAx/e2f5J0x60C20KNGWMUsu9PLK9mFcHCPC5z+PpQVtmt+fQcgJGt5yGTNCMe3kA3jJ1bczamAtnrvqL0djOhqSfi+31vRXSNsgEt9OYkdwhQFPea79GV8y3nIHp1BwyHx5lVyo+3kxKMb+JTa2kFvLP0K8x5vn/x96QmHRq4dgfCorWZPZGh9YLCEGbPbYuRu7QELpLeFZs6B4Vm/CGLGB7lTXnRwtfrKdWy06gKmW+3L1R8B915ham8YoRsNAIFQZAmPVhaxgceMQEbTRzLDNIR8mzJBvxE+2nEPHdGGNbg6TPQjQc3Q0ItHUQNNDIF0KTeq2oQ4GKb2R1BZmujFrBS/Cr9zpOgQTmF9Fliqjx/rJI4IHuA8quH0+h8jMXjTaC9aIrpJuArI4XIDD+EKd2Uuzu6sExfV9KaZtcuiPYo63Bo=----ATTACHMENT:----NTgzMTQ5ODY4ODkxNzU0MyA0Mzk4MTM3NzgwNzM1NDQ3IDU5NDk5MTE1NzM5MTY2NzA=