/**
  * @param string $name
  * @param array  $parent
  * @param string $comment
  */
 public function __construct($name, $parent, $comment = '')
 {
     $reflection = new \ReflectionClass($parent);
     $this->parent = $reflection->getName();
     parent::__construct($name, $reflection->getShortName(), [], $comment);
     $this->declareStructure();
 }
 /**
  * @param string $name
  * @param string $comment
  */
 public function __construct($name, $comment = '')
 {
     parent::__construct($name, '', ['MiddlewareInterface'], $comment);
     $this->declareStructure();
 }
 /**
  * @param string $name
  * @param string $alias
  * @param string $comment
  */
 public function __construct($name, $alias, $comment = '')
 {
     parent::__construct($name, 'Command', [], $comment);
     $this->declareStructure();
     $this->setAlias($alias);
 }
 /**
  * @param string $name
  * @param string $comment
  */
 public function __construct($name, $comment = '')
 {
     parent::__construct($name, 'Controller', [], $comment);
 }
 /**
  * @param string $name
  * @param string $comment
  */
 public function __construct($name, $comment = '')
 {
     parent::__construct($name, 'Service', [], $comment);
 }
 /**
  * @param string $name
  * @param string $comment
  */
 public function __construct($name, $comment = '')
 {
     parent::__construct($name, 'Migration', [], $comment);
     $this->declareStructure();
 }