Controladores
Estructura de los Controladores
<?php
namespace App\Controllers;
use App\core\SessionManager; // llama a los metodos de session
use App\core\Token; // llama a los tokens de formularios
use App\core\Request; // llama a los parametros por $_POST
use App\core\ArtifyStencil; // llama a los metodos que cargan la vista y utiliza plantilla tipo blade
use App\core\Redirect; // llama a los metodos que usan redirecciones para no usar header("Location: ");
use App\core\DB; // llama a Queryfy y ArtifyCrud para generar mantenedores con pocas lineas de codigo y consultas a la base de datos
use Docufy; // llama al generador de PDF
use Coderatio\SimpleBackup\SimpleBackup; // libreria para generar respaldos a la BD
use App\Models\DatosPacienteModel; // llama al modelo
use App\Models\PageModel; // llama al modelo
class HomeController
{
}
?>
Ejemplo de como pasar parámetros a la vista
<?php
namespace App\Controllers;
use App\core\SessionManager;
use App\core\Token;
use App\core\Request;
use App\core\ArtifyStencil;
use App\core\Redirect;
use App\core\DB;
class HomeController
{
public function MyController(){
$val = "demo";
$stencil = new ArtifyStencil();
echo $stencil->render("nombre_vista", [
'val' => $val
]);
}
}
?>
Luego creariamos la ruta en index.php
<?php
use App\core\ArtifyRouter;
use App\core\Request;
$router = new ArtifyRouter();
$router->get('/nombre_url', 'HomeController@MyController');
?>
Ejemplo de controlador con parametros por GET
<?php
namespace App\Controllers;
use App\core\DB;
use App\core\ArtifyStencil;
use App\core\Request;
class UserController
{
public function show(Request $request) {
$param1 = $request->get('param1');
$param2 = $request->get('param2');
$param3 = $request->get('param3');
$all = $request->all();
if ($param1 && $param2 && $param3) {
echo "Usuario Valor1: " . htmlspecialchars($param1) . "<br>";
echo "Usuario Valor2: " . htmlspecialchars($param2) . "<br>";
echo "Usuario Valor3: " . htmlspecialchars($param3) . "<br>";
} else {
echo "No se proporcionó un usuario.";
}
}
public function edit()
{
$stencil = new ArtifyStencil();
echo $stencil->render('vista');
}
}
?>
Ejemplo de controlador con parametros por POST
<?php
namespace App\Controllers;
use App\core\DB;
use App\core\ArtifyStencil;
use App\core\Request;
class UserController
{
public function show() {
$request = new Request();
if ($request->getMethod() === 'POST') {
$param = $request->post('val');
}
}
}
?>