KumbiaPHP beta2-dev
Framework PHP en español
|
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 }