Sencillo, ya me trae todo lo necesario para trabajar, eso me ahorra mucho tiempo y fomenta mi flojera (? 🤣
Si tu también deseas lo mismo, te dejo el link para que lo descargues.
Nota: Debes usar la version fully
Para ello, debemos ir a este link. Una vez que lo tengas instalado, asegúrate de saber en donde lo pusiste, en mi caso es en esta ruta: C:\laragon\www\BackendPHP\AvanzadoPHP
.
Una vez arrancado Laragon, toca hacer buscar el archivo index.php
, el cual se encuentra en tu carpeta public/index.php
.
Lo abres y buscamos este apartado:
//Estan mas o menos por las lineas 120.
$matcher = $routerContainer->getMatcher();
$route = $matcher->match($request);
Debajo de el, crearemos un bloque de codigo donde agreguemos un error para mostrar, seguido de un $var_dump()
para conocer que esta pasando en realidad (ya que para este punto no sabemos nada de nada. Entonces, esto quedaría de la siguiente manera:
index.php
:
$matcher = $routerContainer->getMatcher();
$route = $matcher->match($request);
//Modificacion para los errores
if(!$route){
// which matching rule failed?
echo "No route found for the request.";
echo "<pre>";
var_dump($request->getUri());
echo "</pre>";
exit;
}
¿De donde salio esto? De la doc del paquete
aura/router
Con ello nos saldra una pagina que solo muestre unNo route found for request
, si gustas, puedes configurar el mensaje para que sea mas bonito (?
El $var_dump($request->getUri())
nos ayuda a saber cual es la ruta que le llega a Zend, en mi caso solo llega hasta /AvanzadoPHP/index
.
Si se dan cuenta, la ruta que tengo en mi navegador es backendphp.test/AvanzadoPHP/index
y el que Zend recibe es /AvanzadoPHP/index
. Eso significa que, debemos ir a modificar la parte de $map->get()
para poder visualizar correctamente las rutas. Así que, vamos con la primera, la cual es index
y esta es la versión del maestro:
$routerContainer = new RouterContainer();
$map = $routerContainer->getMap();
$map->get('index', 'index', [
'App\Controllers\IndexController',
'indexAction'
]);
La modificamos de esta manera:
$routerContainer = new RouterContainer();
$map = $routerContainer->getMap();
$map->get('index', '/AvanzadoPHP/index', [
'App\Controllers\IndexController',
'indexAction'
]);
Volvemos a intenttar con la misma ruta en el navegador backendphp.test/AvanzadoPHP/index
y veamos que sucede:
Se preguntaran ¿Por qué me arroja el hola amikos
? Simple, estoy trabajando con la clase de Closures 😄
Espero que te haya ayudado y yo me haya explicado c: