Exemplo n.º 1
0
 /**
  * Comando de consola para crear un modelo
  *
  * @param array $params parametros nombrados de la consola
  * @param string $model modelo
  * @throw KumbiaException
  */
 public function create($params, $model)
 {
     // nombre de archivo
     $file = APP_PATH . 'models';
     // obtiene el path
     $path = explode('/', trim($model, '/'));
     // obtiene el nombre de modelo
     $model_name = array_pop($path);
     if (count($path)) {
         $dir = implode('/', $path);
         $file .= "/{$dir}";
         if (!is_dir($file) && !FileUtil::mkdir($file)) {
             throw new KumbiaException("No se ha logrado crear el directorio \"{$file}\"");
         }
     }
     $file .= "/{$model_name}.php";
     // si no existe o se sobreescribe
     if (!is_file($file) || Console::input("El modelo existe, �desea sobrescribirlo? (s/n): ", array('s', 'n')) == 's') {
         // nombre de clase
         $class = Util::camelcase($model_name);
         // codigo de modelo
         ob_start();
         include CORE_PATH . 'console/generators/model.php';
         $code = '<?php' . PHP_EOL . ob_get_clean();
         // genera el archivo
         if (file_put_contents($file, $code)) {
             echo "-> Creado modelo {$model_name} en: {$file}" . PHP_EOL;
         } else {
             throw new KumbiaException("No se ha logrado crear el archivo \"{$file}\"");
         }
     }
 }
Exemplo n.º 2
0
 public function __construct($input = null, $output = null, $name = null)
 {
     $this->input = $input ?: Console::input();
     $this->output = $output ?: Console::output();
     if (!isset($this->name)) {
         if (empty($name)) {
             $classPath = explode('\\', get_class($this));
             $name = preg_replace('/Command$/', '', end($classPath));
         }
         $this->name = $name;
     }
 }
Exemplo n.º 3
0
 /**
  * Comando de consola para eliminar un controlador
  *
  * @param array $params parametros nombrados de la consola
  * @param string $controller controlador
  * @throw KumbiaException
  */
 public function delete($params, $controller)
 {
     // path limpio al controlador
     $clean_path = trim($controller, '/');
     // nombre de archivo
     $file = APP_PATH . "controllers/{$clean_path}";
     // si es un directorio
     if (is_dir($file)) {
         $success = FileUtil::rmdir($file);
     } else {
         // entonces es un archivo
         $file = "{$file}_controller.php";
         $success = unlink($file);
     }
     // mensaje
     if ($success) {
         echo "-> Eliminado: {$file}" . PHP_EOL;
     } else {
         throw new KumbiaException("No se ha logrado eliminar \"{$file}\"");
     }
     // directorio para vistas
     $views_dir = APP_PATH . "views/{$clean_path}";
     // intenta eliminar el directorio de vistas
     if (is_dir($views_dir) && Console::input('¿Desea eliminar el directorio de vistas? (s/n): ', array('s', 'n')) == 's') {
         if (!FileUtil::rmdir($views_dir)) {
             throw new KumbiaException("No se ha logrado eliminar \"{$views_dir}\"");
         }
         echo "-> Eliminado: {$views_dir}" . PHP_EOL;
     }
 }