コード例 #1
0
ファイル: Module.php プロジェクト: srinathweb/MTool
 /**
  * Create dummy module:
  *     1. create module folder under app/code/local
  *     2. create module config.xml file
  *     3. create module file under app/etc/modules
  */
 public function createDummy()
 {
     // Check that module does not already exist
     if ($this->exists()) {
         throw new Mtool_Codegen_Exception_Module("Seems like this module already exists. Aborting.");
     }
     // Create module dir
     Mtool_Codegen_Filesystem::mkdir($this->_moduleDir);
     $name = $this->getName();
     $params = array('module_name' => $name, 'module' => $this->_moduleName, 'company_name' => $this->getCompanyName(), 'year' => date('Y'));
     // Create config.xml file
     $configTemplate = new Mtool_Codegen_Template('module_config_empty');
     $configTemplate->setParams(array_merge($params, $this->_templateParams))->move($this->_moduleConfigsDir, 'config.xml');
     // Create module file under app/etc/modules
     $modulesTemplate = new Mtool_Codegen_Template('module_etc');
     $modulesTemplate->setParams(array_merge($params, $this->_templateParams))->move($this->_mage->getModulesConfigPath(), "{$name}.xml");
 }
コード例 #2
0
ファイル: Template.php プロジェクト: srinathweb/MTool
 /**
  * Move template to $to directory with $as name
  *
  * @param string $to - target directory
  * @param string $as - result filename
  */
 public function move($to, $as)
 {
     $to = Mtool_Codegen_Filesystem::slash($to);
     Mtool_Codegen_Filesystem::mkdir($to);
     Mtool_Codegen_Filesystem::write($to . $as, $this->content());
 }
コード例 #3
0
ファイル: Abstract.php プロジェクト: srinathweb/MTool
 /**
  * Create class file
  * 
  * @param string $path in format: class_path_string 
  * @param string $template 
  * @param Mtool_Codegen_Entity_Module $module
  * @param array $params 
  * @return resulting class name
  */
 public function createClass($path, $template, $module, $params = array())
 {
     $pathSteps = $this->_ucPath(explode('_', $path));
     $className = implode('_', $pathSteps);
     $classFilename = array_pop($pathSteps) . '.php';
     // Create class dir under module
     $classDir = Mtool_Codegen_Filesystem::slash($module->getDir()) . $this->_folderName . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $pathSteps);
     Mtool_Codegen_Filesystem::mkdir($classDir);
     // Move class template file
     $classTemplate = new Mtool_Codegen_Template($template);
     $resultingClassName = "{$module->getName()}_{$this->_entityName}_{$className}";
     if (strlen('class ' . $resultingClassName) >= self::RECOMMENDED_ZEND_CODING_STANDARD_LINE_LENGTH) {
         $resultingClassName .= "\n   ";
     }
     $defaultParams = array('company_name' => $module->getCompanyName(), 'module_name' => $module->getModuleName(), 'class_name' => $resultingClassName, 'year' => date('Y'));
     $classTemplate->setParams(array_merge($defaultParams, $params, $module->getTemplateParams()));
     $classTemplate->move($classDir, $classFilename);
     return $resultingClassName;
 }