public function apiRestEntityAction() { $this->console = $this->getServiceLocator()->get('console'); $tmpDir = sys_get_temp_dir(); $request = $this->getRequest(); $name = $request->getParam('name'); $module = $request->getParam('module'); $entity = $request->getParam('entity'); $path = $request->getParam('path', '.'); $doctrine = $this->getServiceLocator()->get("Doctrine\\ORM\\EntityManager"); $modelController = new ModelController($name, $module, $path); $ucName = ucfirst($name); // criar o controller para apirest $modelController->setName("Api" . $name); $this->createApiRestController('API', $modelController); // create controller view $modelController->setName($name); $this->createApiRestController('VIEW', $modelController); // gerando o arquivo de configurações ModelConfig::generateConfig($module, $name, true, $path); $this->console->write("Configuration file regenerate!\n", Color::GREEN); // buscar a entidade e gerar o array para passar para os metodos que cuidam de gerar os inputs $arrayEntity = ModelDoctrine::readEntity($doctrine, $entity); $arrayInputs = ArrayForm::entityToForm($arrayEntity); // create class form $this->generateForm($name, $module, $arrayInputs, $path); die("okkk"); // create class validate // criar o controller para view // add input form // add validation form // add methods index, list, edit, create return new ViewModel(); }
public function apiRestAction() { $console = $this->getServiceLocator()->get('console'); $tmpDir = sys_get_temp_dir(); $request = $this->getRequest(); $name = $request->getParam('name'); $module = $request->getParam('modulo'); $path = $request->getParam('path', '.'); // generate controller $modelController = new ModelController($name, $module, $path); // add methods // method get $modelController->addMethod(new Generator\MethodGenerator('get', array(), Generator\MethodGenerator::FLAG_PUBLIC, 'return new JsonModel();')); // method getList $modelController->addMethod(new Generator\MethodGenerator('getList', array(), Generator\MethodGenerator::FLAG_PUBLIC, 'return new JsonModel();')); // method create $modelController->addMethod(new Generator\MethodGenerator('create', array(), Generator\MethodGenerator::FLAG_PUBLIC, 'return new JsonModel();')); // method update $modelController->addMethod(new Generator\MethodGenerator('update', array(), Generator\MethodGenerator::FLAG_PUBLIC, 'return new JsonModel();')); // method delete $modelController->addMethod(new Generator\MethodGenerator('delete', array(), Generator\MethodGenerator::FLAG_PUBLIC, 'return new JsonModel();')); // valida se o controller existe antes de criar if ($modelController->isControllerExist()) { // pergunta ao usuário $console->write("File exist, really want to delete?: "); $read = $console->readChar('yn'); if ($read == "n") { $console->write("n\n", Color::RED); $console->write("Controller was not created.\n", Color::RED); return; } $console->write("y\n", Color::GREEN); } // generate class $modelController->generate(); // echo text $console->write("Controller create success!\n", Color::GREEN); // gerando o arquivo de configurações ModelConfig::generateConfig($module, $name, false, $path); $console->write("Configuration file regenerate!\n", Color::GREEN); }