/** * @return ClassMethod */ protected function generateAdd() { $setter = new ClassMethod('add' . ucfirst($this->classProperty->getName())); $setter->setDescription('Add item to ' . $this->classProperty->getName()); $setterParam = new MethodParameter($this->classProperty->getName(), 'mixed'); $setter->addParameter($setterParam); $body = <<<BODY \t\$this->{$this->classProperty->getName()} = \${$this->classProperty->getName()}; BODY; $setter->setBody($body); return $setter; }
/** * @Route("/testclass", name="homepage") * * @Method("GET") */ public function indexAction() { $class = new BaseClass('Classes', 'BestClass'); $class->addProperty(new ClassProperty('test', 'string')); $method = new ClassMethod('setTest'); $method->addParameter(new MethodParameter('test', 'string')); $method->setReturnType(null); $class->addMethod($method); $classGenerator = new ClassGenerator($class); $classWriter = new ClassWriter($classGenerator, new Filesystem(), '/Users/justingriffith/Sites/CodeCreator/'); $classWriter->write(); return $this->render('default/index.html.twig'); }
/** * @param array $methods * * @return array */ private function translateMethodsToClassMethod(array $methods) { $result = []; foreach ($methods as $key => $method) { $method = (object) $method; $classMethod = new ClassMethod($key); if (isset($method->parameters)) { foreach ($method->parameters as $paramKey => $param) { $classMethod->addParameter(new MethodParameter($paramKey, $param['type'])); } } $result[] = $classMethod; } return $result; }