gossi\codegen\tests\Fixtures::createEntity PHP Method

createEntity() public static method

Creates the Fixture Class
public static createEntity ( ) : PhpClass
return gossi\codegen\model\PhpClass
    public static function createEntity()
    {
        $classDoc = new Docblock('/**
 * Doc Comment.
 *
 * @author Johannes M. Schmitt <[email protected]>
 */');
        $propDoc = new Docblock('/**
 * @var integer
 */');
        $class = new PhpClass();
        $class->setQualifiedName('gossi\\codegen\\tests\\fixtures\\Entity')->setAbstract(true)->setDocblock($classDoc)->setDescription($classDoc->getShortDescription())->setLongDescription($classDoc->getLongDescription())->setProperty(PhpProperty::create('id')->setVisibility('private')->setDocblock($propDoc)->setType('integer')->setDescription($propDoc->getShortDescription()))->setProperty(PhpProperty::create('enabled')->setVisibility('private')->setValue(false));
        $methodDoc = new Docblock('/**
 * Another doc comment.
 *
 * @param $a
 * @param array $b
 * @param \\stdClass $c
 * @param string $d
 * @param callable $e
 */');
        $method = PhpMethod::create('__construct')->setFinal(true)->addParameter(PhpParameter::create('a'))->addParameter(PhpParameter::create()->setName('b')->setType('array')->setPassedByReference(true))->addParameter(PhpParameter::create()->setName('c')->setType('\\stdClass'))->addParameter(PhpParameter::create()->setName('d')->setType('string')->setValue('foo'))->addParameter(PhpParameter::create()->setName('e')->setType('callable'))->setDocblock($methodDoc)->setDescription($methodDoc->getShortDescription())->setLongDescription($methodDoc->getLongDescription());
        $class->setMethod($method);
        $class->setMethod(PhpMethod::create('foo')->setAbstract(true)->setVisibility('protected'));
        $class->setMethod(PhpMethod::create('bar')->setStatic(true)->setVisibility('private'));
        return $class;
    }

Usage Example

 public function testEntity()
 {
     $class = Fixtures::createEntity();
     $generator = new CodeFileGenerator(['generateDocblock' => true, 'generateEmptyDocblock' => false]);
     $code = $generator->generate($class);
     $this->assertEquals($this->getFixtureContent('Entity.php'), $code);
 }
All Usage Examples Of gossi\codegen\tests\Fixtures::createEntity