Change View to work as instance and render text and json.

This commit is contained in:
kj 2022-06-25 21:11:11 -04:00
parent b6555ee039
commit 4c4fe6f1f7
1 changed files with 36 additions and 3 deletions

View File

@ -11,7 +11,7 @@
namespace Libs;
class View {
class View extends Neuron {
/**
* Función que "renderiza" las vistas
@ -26,13 +26,46 @@ class View {
* (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/".
*/
public static function render(string $viewName, array $params = [], string $viewPath = null) {
$view = new Neuron($params);
unset($params);
$instance = new View($params);
$instance->html($viewName, $viewPath);
}
/**
* Renderiza las vistas HTML
*
* @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/".
*/
public function html(string $viewName, string $viewPath = null) {
$view = $this;
if (isset($viewPath) && file_exists($viewPath.$viewName.'.php'))
return include($viewPath.$viewName.'.php');
include(ROOT_DIR.'/src/Views/'.$viewName.'.php');
}
/**
* Imprime los datos en Json.
*
* @param object $data
*/
public function json(object $data) {
header('Content-Type: application/json');
print(json_encode($data));
}
/**
* Imprime los datos en texto plano
*
* @param string $txt
*/
public function text(string $txt) {
header('Content-Type: text/plain');
print(json_encode($txt));
}
}
?>