mvc-php
  • Instalación
  • Estructura de directorios
  • Enrutamiento
Powered by GitBook
On this page

Enrutamiento

Las rutas se almacenan en la carpeta routes, por defecto contiene un archivo llamado web.php.

Para indicar cada ruta se llama a la variable $router->[método]([ruta],[callback])

Métodos:

  • post: Acepta peticiones por POST

  • get: Acepta peticiones por GET

  • put: Acepta peticiones por PUT

  • delete: Acepta peticiones por DELETE

Ejemplo llamando a un callback

use libs\HTTP\Request;

$router->get('/',function(Request $request){
    return view('index');
});

Ejemplo llamando a un método del controlador: Se llama entre comillas el nombre del contrador apartir de la ruta (app\Controllers\Controller.php) seguido de un @ y posteriormente el nombre del método

$router->get('/',"Controller@index");

Ejemplo de ruta con variables. Hay dos formas de obtener las variables una es usando el método input('nombre_variable') dentro del o accediendo como variable del objeto Request. Para indicar una variable se pone entre llaves {variable} y se desea que sea opcional se usa el signo ? después del nombre de la variable {variable_opcional?}.

$router->get('/saludar/{nombre}/{edad?}',function(Request $request){
    $nombre=$request->input('nombre'); // Obligatoria
    $edad=$request->edad; // Opcional
    return "Hola ".$nombre." tienes ".$edad;
});

También se puede obtener el encabezado y un array asociativo con las variables de un protocolo en específico. Se puede pasar como parámetro una clave para obtener un dato especifico del array $request->get('nombre').

$router->get('/saludar/{nombre}/{edad?}',function(Request $request){
    return json([
        'header'=>$request->header,
        'get'=>$request->get,
        'post'=>$request->post,
        'files'=>$request->files,
        'cookie'=>$request->cookie,
        'session'=>$request->session,
    ]);
});

$router->get('/home/es',function(Request $request){
    return view('index');
})->name('home');

También puede llamar a un middleware por medio del alias configurado en config/middleware.php o por medio de la clase.

$router->get('/home/es',function(Request $request){
    return route('home');
})->name('home')->middleware('auth',app\Middlewares\Authenticate::class);
PreviousEstructura de directorios

Last updated 1 year ago

Puede usar un nombre clave con el método name('clave') para obtener la url del enrutamiento por medio del helper route('home'), dando como resultado

http://127.0.0.1:8000/home/es