public function create($resourceName, $module = null) { parent::create($resourceName . 's', true, $module); $this->_resourceName = $resourceName; $this->_moduleName = $module; $modelProvider = new Zend_Tool_Project_Provider_Model(); $modelProvider->setRegistry($this->_registry); $modelProvider->create($this->_resourceName, $this->_moduleName); $dbTableProvider = new Zend_Tool_Project_Provider_DbTable(); $dbTableProvider->setRegistry($this->_registry); $dbTableProvider->create($this->_resourceName, $this->_resourceName . 's', $this->_moduleName); $formProvider = new Zend_Tool_Project_Provider_Form(); $formProvider->setRegistry($this->_registry); $formProvider->create($this->_resourceName, $this->_moduleName); $response = $this->_registry->getResponse(); try { $controllerResource = self::createResource($this->_loadedProfile, $resourceName, $module); //index created on superclass::create $this->_createAction('new'); $this->_createAction('edit'); $this->_createAction('destroy'); /* $testControllerResource = Zend_Tool_Project_Provider_Test::createApplicationResource( $this->_loadedProfile, $name, 'update', $module); $response->appendContent('Creating a controller test file at ' . $testControllerResource->getContext()->getPath()); $testControllerResource->create();*/ } catch (Exception $e) { $response->setException($e); return; } }
/** * Updates the generated form with the properties of the model as fields * * @param Registry $registry * @param Profile $profile * @param string $entity * @param string $commaSeparatedFields * @param string $module */ public static function create(Registry $registry, Profile $profile, $entity, $commaSeparatedFields = '', $module = null) { $form = new FormProvider(); $form->setRegistry($registry); $form->create("{$entity}Form"); $formResource = FormProvider::createResource($profile, "{$entity}Form", $module); $formPath = $formResource->getContext()->getPath(); $formContent = file_get_contents($formPath); file_put_contents($formPath, str_replace(' /* Form Elements & Other Definitions Here ... */', self::_getFormElements($commaSeparatedFields), $formContent)); }
/** * * @param string $table * @param string $adapter * @param string $module * @return void * @throws Zend_Tool_Project_Exception * @throws Exception */ public function create($table, $adapter, $module = null) { $name = ZendT_Tool_ModelTProvider::convertTableNameToClassName($table); $this->_print(' Criando Models '); $this->_print('name: ' . $name . ' | table: ' . $table . ' | adapter : ' . $adapter . ' | module: ' . $module); $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION); $this->connect($this->_loadedProfile, $adapter); // Check that there is not a dash or underscore, return if doesnt match regex if (preg_match('#[_-]#', $name)) { throw new Zend_Tool_Project_Provider_Exception('Form names should be camel cased.'); } $originalName = $name; $name = ucfirst($name); if ($table == '') { throw new Zend_Tool_Project_Provider_Exception('You must provide both the Form name as well as the actual db table\'s name.'); } // get request/response object $request = $this->_registry->getRequest(); $response = $this->_registry->getResponse(); // alert the user about inline converted names $tense = $request->isPretend() ? 'would be' : 'is'; if ($name !== $originalName) { $response->appendContent('Note: The canonical model name that ' . $tense . ' used with other providers is "' . $name . '";' . ' not "' . $originalName . '" as supplied', array('color' => array('yellow'))); } /** * Cria o DB Table */ try { $formResources = Zend_Tool_Project_Provider_Form::createResource($this->_loadedProfile, $name, $module); } catch (Exception $e) { $response = $this->_registry->getResponse(); $response->setException($e); return; } // do the creation if ($request->isPretend()) { $response->appendContent('Would create a Form at ' . $formResources->getContext()->getPath()); } else { $response->appendContent('Creating a Form at ' . $formResources->getContext()->getPath()); $formResources->create(); $this->_storeProfile(); $fileName = $formResources->getContext()->getPath(); $formContext = new ZendT_Tool_Context_FormFile(); $descTable = $this->_dbAdapter->describeTable($originalName); $formContext->setProperties($descTable); file_put_contents($fileName, "<?php \n" . $formContext->getContents() . "\n?>"); } $this->_print(' Finalizado Models '); }