KumbiaPHP  beta2
Framework PHP
 Todo Estructuras de Datos Namespaces Archivos Funciones Variables Páginas
model_console.php
Ir a la documentación de este archivo.
1 <?php
28 {
29 
37  public function create($params, $model)
38  {
39  // nombre de archivo
40  $file = APP_PATH . 'models';
41 
42  // obtiene el path
43  $path = explode('/', trim($model, '/'));
44 
45  // obtiene el nombre de modelo
46  $model_name = array_pop($path);
47 
48  if (count($path)) {
49  $dir = implode('/', $path);
50  $file .= "/$dir";
51  if (!is_dir($file) && !FileUtil::mkdir($file)) {
52  throw new KumbiaException("No se ha logrado crear el directorio \"$file\"");
53  }
54  }
55  $file .= "/$model_name.php";
56 
57  // si no existe o se sobreescribe
58  if (!is_file($file) ||
59  Console::input("El modelo existe, �desea sobrescribirlo? (s/n): ", array('s', 'n')) == 's') {
60 
61  // nombre de clase
62  $class = Util::camelcase($model_name);
63 
64  // codigo de modelo
65  ob_start();
66  include CORE_PATH . 'console/generators/model.php';
67  $code = '<?php' . PHP_EOL . ob_get_clean();
68 
69  // genera el archivo
70  if (file_put_contents($file, $code)) {
71  echo "-> Creado modelo $model_name en: $file" . PHP_EOL;
72  } else {
73  throw new KumbiaException("No se ha logrado crear el archivo \"$file\"");
74  }
75  }
76  }
77 
85  public function delete($params, $model)
86  {
87  // nombre de archivo
88  $file = APP_PATH . 'models/' . trim($model, '/');
89 
90  // si es un directorio
91  if (is_dir($file)) {
92  $success = FileUtil::rmdir($file);
93  } else {
94  // entonces es un archivo
95  $file = "$file.php";
96  $success = unlink($file);
97  }
98 
99  // mensaje
100  if ($success) {
101  echo "-> Eliminado: $file" . PHP_EOL;
102  } else {
103  throw new KumbiaException("No se ha logrado eliminar \"$file\"");
104  }
105  }
106 
107 }