KumbiaPHP beta2-dev
Framework PHP en español
model_console.php
Ir a la documentación de este archivo.
00001 <?php
00022 class ModelConsole
00023 {
00031     public function create($params, $model)
00032     {   
00033         // nombre de archivo
00034         $file = APP_PATH . 'models';
00035         
00036         // obtiene el path
00037         $path = explode('/', trim($model, '/'));
00038         
00039         // obtiene el nombre de modelo
00040         $model_name = array_pop($path);
00041         
00042         if(count($path)) {
00043             $dir = implode('/', $path);
00044             $file .= "/$dir";
00045             if(!is_dir($file) && !Util::mkpath($file)) {
00046                 throw new KumbiaException("No se ha logrado crear el directorio \"$file\"");
00047             }
00048         }
00049         $file .= "/$model_name.php";
00050         
00051                 // si no existe o se sobreescribe
00052                 if(!is_file($file) || 
00053                         Console::input("El modelo existe, ¿desea sobrescribirlo? (s/n): ", array('s', 'n')) == 's') {
00054                 
00055                         // nombre de clase
00056                         $class = Util::camelcase($model_name);
00057                         
00058                         // codigo de modelo
00059                         ob_start();
00060                         include CORE_PATH . 'console/generators/model.php';
00061                         $code = '<?php' . PHP_EOL . ob_get_clean();
00062 
00063                         // genera el archivo
00064                         if(file_put_contents($file, $code)) {
00065                                 echo "-> Creado modelo $model_name en: $file" . PHP_EOL;
00066                         } else {
00067                                 throw new KumbiaException("No se ha logrado crear el archivo \"$file\"");
00068                         }
00069                 }
00070     }
00071     
00079     public function delete($params, $model)
00080     {
00081         // nombre de archivo
00082         $file = APP_PATH . 'models/' . trim($model, '/');
00083 
00084         // si es un directorio
00085         if(is_dir($file)) {
00086             $success = Util::removedir($file);
00087         } else {
00088             // entonces es un archivo
00089             $file = "$file.php";
00090             $success = unlink($file);
00091         }
00092         
00093         // mensaje
00094         if($success) {
00095             echo "-> Eliminado: $file" . PHP_EOL;
00096         } else {
00097             throw new KumbiaException("No se ha logrado eliminar \"$file\"");
00098         }
00099     }
00100 }
 Todo Estructuras de Datos Namespaces Archivos Funciones Variables Enumeraciones