예제 #1
0
파일: PhpClassTest.php 프로젝트: hjr3/zf2
 /**
  * @group ZF-7909
  */
 public function testClassFromReflectionDiscardParentImplementedInterfaces()
 {
     $reflClass = new Reflection\ReflectionClass('\\ZendTest\\CodeGenerator\\PHP\\TestAsset\\NewClassWithInterface');
     $codeGen = PHP\PHPClass::fromReflection($reflClass);
     $codeGen->setSourceDirty(true);
     $code = $codeGen->generate();
     $expectedClassDef = 'class NewClassWithInterface extends ClassWithInterface implements ThreeInterface';
     $this->assertContains($expectedClassDef, $code);
 }
예제 #2
0
파일: PhpFile.php 프로젝트: hjr3/zf2
 /**
  * setClass()
  *
  * @param \Zend\CodeGenerator\PHP\PHPClass|array $class
  * @return \Zend\CodeGenerator\PHP\PHPFile
  */
 public function setClass($class)
 {
     if (is_array($class)) {
         $class = new PHPClass($class);
         $className = $class->getName();
     } elseif ($class instanceof PHPClass) {
         $className = $class->getName();
     } else {
         throw new Exception('Expecting either an array or an instance of Zend_CodeGenerator_Php_Class');
     }
     // @todo check for dup here
     $this->_classes[$className] = $class;
     return $this;
 }