Add option to use another extensions, js and css methods.
This commit is contained in:
		| @@ -14,20 +14,36 @@ namespace Libs; | ||||
| class View extends Neuron { | ||||
|  | ||||
|     /** | ||||
|      * Función que "renderiza" las vistas | ||||
|      * Incluye el archivo. | ||||
|      * | ||||
|      * @param string $viewName | ||||
|      *   Ruta relativa y el nommbre sin extensión del archivo ubicado en src/Views | ||||
|      * | ||||
|      * @param array $params | ||||
|      *   (opcional) Arreglo que podrá ser usado en la vista mediante $view ($param['index'] se usaría así: $view->index) | ||||
|      * | ||||
|      * @param string $viewPath | ||||
|      *   (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @param string $viewName  Ruta relativa y el nommbre sin extensión del archivo. | ||||
|      * @param string $viewPath  (opcional) Ruta donde se encuentra la vista. | ||||
|      * @param string $extension (opcional) Extensión del archivo. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public static function render(string $viewName, array $params = [], string $viewPath = null): void { | ||||
|     private function include(string $viewName, string $viewPath = null, string $extension = 'php'): void { | ||||
|         $view = $this; | ||||
|  | ||||
|         if (isset($viewPath) && file_exists("$viewPath$viewName.$extension")) { | ||||
|             include("$viewPath$viewName.$extension"); | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         include(ROOT_DIR."/src/Views/$viewName.$extension"); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Función que "renderiza" las vistas | ||||
|      * | ||||
|      * @param string $viewName  Ruta relativa y el nommbre sin extensión del archivo. | ||||
|      * @param array  $params    (opcional) Arreglo que podrá ser usado en la vista mediante $view ($param['index'] se usaría así: $view->index) | ||||
|      * @param string $viewPath  (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @param string $extension (opcional) Extensión del archivo. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public static function render(string $viewName, array $params = [], string $viewPath = null, string $extension = 'php'): void { | ||||
|         $instance = new View($params); | ||||
|         $instance->html($viewName, $viewPath); | ||||
|     } | ||||
| @@ -35,28 +51,49 @@ class View extends Neuron { | ||||
|     /** | ||||
|      * Renderiza las vistas HTML | ||||
|      * | ||||
|      * @param string $viewName | ||||
|      *  Ruta relativa y el nommbre sin extensión del archivo ubicado en src/Views | ||||
|      * @param string $viewName  Ruta relativa y el nommbre sin extensión del archivo ubicado en src/Views | ||||
|      * @param string $viewPath  (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @param string $extension (opcional) Extensión del archivo. | ||||
|      * | ||||
|      * @param string $viewPath | ||||
|      *  (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @return void | ||||
|      */ | ||||
|     public function html(string $viewName, string $viewPath = null): void { | ||||
|         $view = $this; | ||||
|     public function html(string $viewName, string $viewPath = null, string $extension = 'php'): void { | ||||
|         $this->include($viewName, $viewPath, $extension); | ||||
|     } | ||||
|  | ||||
|         if (isset($viewPath) && file_exists($viewPath.$viewName.'.php')) { | ||||
|             include($viewPath.$viewName.'.php'); | ||||
|             return; | ||||
|         } | ||||
|     /** | ||||
|      * Renderiza código CSS. | ||||
|      * | ||||
|      * @param string $viewName  Ruta relativa y el nommbre sin extensión del archivo ubicado en src/Views | ||||
|      * @param string $viewPath  (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @param string $extension (opcional) Extensión del archivo. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function css(string $viewName, string $viewPath = null, string $extension = 'css'): void { | ||||
|         header("Content-type: text/css"); | ||||
|         $this->include($viewName, $viewPath, $extension); | ||||
|     } | ||||
|  | ||||
|         include(ROOT_DIR.'/src/Views/'.$viewName.'.php'); | ||||
|     /** | ||||
|      * Renderiza código Javascript. | ||||
|      * | ||||
|      * @param string $viewName  Ruta relativa y el nommbre sin extensión del archivo ubicado en src/Views | ||||
|      * @param string $viewPath  (opcional) Ruta donde se encuentra la vista. En caso de que la vista no se encuentre en esa ruta, se usará la ruta por defecto "src/Views/". | ||||
|      * @param string $extension (opcional) Extensión del archivo. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function js(string $viewName, string $viewPath = null, string $extension = 'js'): void { | ||||
|         header("Content-type: application/javascript"); | ||||
|         $this->include($viewName, $viewPath, $extension); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Imprime los datos en Json. | ||||
|      * | ||||
|      * @param object|array $data | ||||
|      * @param object|array $data Objeto o array que se imprimirá a JSON. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function json(object|array $data): void { | ||||
| @@ -67,7 +104,8 @@ class View extends Neuron { | ||||
|     /** | ||||
|      * Imprime los datos en texto plano | ||||
|      * | ||||
|      * @param string $txt | ||||
|      * @param string $txt Contenido de texto. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function text(string $txt): void { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user