public function testGenerate()
    {
        $generator = new ClassGenerator('Abc\\Test');
        $generator->setAbstract(true);
        $generator->addTrait('ATrait');
        $generator->addUse('ATrait');
        $generator->addTrait('BTrait');
        $generator->setImplementedInterfaces(['ITestA', 'ITestB']);
        $generator->setExtendedClass('ParentClass');
        $generator->addProperty('abc');
        $generator->addMethod('bar');
        $data = <<<EOF
namespace Abc;

use ATrait;

abstract class Test extends ParentClass implements ITestA, ITestB
{

    use ATrait,
        BTrait;

    public \$abc = null;

    public function bar()
    {
    }


}

EOF;
        $this->assertEquals($data, $generator->generate());
    }
示例#2
0
 /**
  * @param  State|\Scaffold\State $state
  * @return State|void
  */
 public function build(State $state)
 {
     $model = $state->getModel('options');
     $generator = new ClassGenerator($model->getName());
     $generator->setExtendedClass('AbstractOptions');
     $model->setGenerator($generator);
     $generator->addUse('Zend\\Stdlib\\AbstractOptions');
 }
 /**
  * Build generators
  *
  * @param  State|State          $state
  * @return \Scaffold\State|void
  */
 public function build(State $state)
 {
     $model = $state->getControllerModel();
     $generator = new ClassGenerator($model->getName());
     $generator->setExtendedClass('AbstractRestfulController');
     $generator->addUse('Zend\\Mvc\\Controller\\AbstractRestfulController');
     $generator->addUse('Doctrine\\ORM\\EntityManager');
     $generator->addUse('Zend\\Form\\Form');
     $generator->addUse($state->getServiceTraitModel()->getName());
     $generator->addTrait($state->getServiceTraitModel()->getClassName());
     $this->addProperty($generator, 'entityManager', 'EntityManager');
     $this->buildGetEntityManager($generator, $state);
     $model->setGenerator($generator);
 }