Change View to work as instance and render text and json.
This commit is contained in:
parent
b6555ee039
commit
4c4fe6f1f7
@ -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));
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user