Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/routing»
De WikiEducator
(→Routin básico : funciones anónimas o Clousuras) |
(→Routin básico : funciones anónimas o Clousuras) |
||
Línea 69: | Línea 69: | ||
</source> | </source> | ||
*Ahora abrimos el navegador y escribimos http://localhost:8000, y vemos la siguiente imagen | *Ahora abrimos el navegador y escribimos http://localhost:8000, y vemos la siguiente imagen | ||
− | [[Imagen:laravelLocalhost.png]] | + | [[Imagen:laravelLocalhost.png|300px|center]] |
*A continuación escribimos la ruta a la que queremos acceder. En nuestro caso hemos detallado tres rutas, que serían las páginas de nuestra aplicación: | *A continuación escribimos la ruta a la que queremos acceder. En nuestro caso hemos detallado tres rutas, que serían las páginas de nuestra aplicación: | ||
#principalGet | #principalGet |
Revisión de 09:48 5 ene 2015
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Qué es routing
- Es esta la primera diferencia que podemos encontrar con una aplicación web tradicional de PHP como hemos venido trabajando a lo largo del curso
- El cliente escribe una url solicitando una página web o php p.e.
http://localhost/paginaPrincipal.php
- Ahora el servidor web procesa la petición ejecutando el fichero php y retornando una página web al cliente. Entendemos que existe un fichero en el servidor con el nombre paginaPrincipal.php
- Ahora no vamos a funcionar exactamente así en la parte del servidor
- Meditante el routing, vamos a especificar el contenido que se va a servir ante una determinada URL
- Esto se hará en un único fichero ./app/route.php de modo que todo lo realcionado con las rutas.
En él puede estar directamente el contenido que se va a servir ante una ruta o solicitud o se especificará un fichero donde se obtendrá dicho contendido
- El cliente escribirá una ruta a la que quiere acceder en forma de URL y la aplicación en buscará dicha ruta en el fichero route.php.
- Una aproximación (en realidad hay muchos ficheros que se ejecutan entre medias. ver ciclo de vida de una aplicación laravel), podemos ver en la siguiente imagen
- Hay diferentes maneras de especificar estas rutas en el fichero route.php, como vamos a ver a continuación
Especificando la ruta en Laravel
- Para ello se usa la clase route
- Esta clase tiene una serie de métodos para especificar las rutas que corresponden al tipo de solicitud http que se hace al servidor
- Estos métodos son palabras (verbos) que representan el tipo de solicitud http que se hace al servidor.(Ver protocolo http para este cometido).
- Se suele usar get(), para solicitudes de páginas que no envían datos y post() si se envían datos
- Aquí una lista de posibles verbos a utilizar
<? php // app/routes.php Route::get(); Route::post(); Route::put(); Route::delete(); Route::any(); //any, sirve para especificar cualquier tipo de solicitud http ?>
- El método especificado recibe dos parámetros:
- El URL o URI que el cliente solicitará
- Especifica la acción que se va a realizar para retornar un contenido al cliente según la url solicitada.
- En función de como se especifique esta acción tenemos diferentes formas de hacer Routing, según veremos a continuación:
Routin básico : funciones anónimas o Clousuras
Una función anónima que se ejecutará y dará el contenido (En el routing básico)
route::get("principalGet", function(){ return ("Estás en la página principal con método GET"); }); route::post("principalPost", function(){ return ("Estás en la página principal con método POST"); }); route::get("principalGetOrPost", function(){ return ("Estás en la página principal con método GET o POST"); });
- En este primer caso vamos a probar el ejemplo.
- Primero levantamos el servidor que viene con laravel en el puerto 8000
- Para ello usamos los comandos de artisan
php artisan serve
- Y vemos la siguiente salida, que responde al route con la URL /
Laravel development server started on http://localhost:8000
- Ahora abrimos el navegador y escribimos http://localhost:8000, y vemos la siguiente imagen
- A continuación escribimos la ruta a la que queremos acceder. En nuestro caso hemos detallado tres rutas, que serían las páginas de nuestra aplicación:
- principalGet
- principalPost
- principalGetOrPost
http://localhost:8000/principalGet
- Y sale el contenido indicado
|
- Lógicamente las rutas con método post no los visualizaremos directamente desde el navegador. es decir si escribimos
http://localhost:8000/principalPost
- No me aparecerá, y si vemos los errores, veremos que aparece un acceso no permitido
- Podemos comprobarlo con curl en línea de comandos
curl -d "" http://localhost:8000/principalPost
=
- VEr el sigueintes tutorial:
http://duilio.me/como-asociar-rutas-a-controladores-y-acciones-con-laravel/