El enrutamiento es un concepto central en Laravel y funciona de manera un poco diferente a algunos de los marcos del pasado. El sistema de Laravel Route es muy flexible y, aunque un poco complicado al principio, una vez que comprendas bien los fundamentos, te preguntarás cómo viviste sin él todo el tiempo. Sin más preámbulos, ¡profundicemos en Laravel Routes!
Configurar un dominio de desarrollo personalizado
Hace mucho tiempo cuando, durante el tutorial Instalar Laravel en Windows, creamos una aplicación llamada blog ejecutando un comando como:composer create-project laravel/laravel blog --prefer-dist
Lo que eso hizo por nosotros fue crear nuestro proyecto C:wampwwwblog
y para poder ver nuestra aplicación en un navegador, tuvimos que visitar algo como http://localhost/blog/public/
Ahora, esto probablemente no sea ideal, acabas de instalar el marco de programación PHP más avanzado técnicamente disponible y estás cargando arriba http://localhost/blog/public/
en el navegador para poder verla ?! Ah, no gracias . Vamos a configurar nuestro propio entorno de desarrollo. Configuraremos esto para que podamos presionar http://vegi.bit
y hacer que nuestra aplicación se cargue bien. Puedes elegir lo que más te guste para el tuyo, tal vez http://you.rock
si quieres.
- Abra la aplicación Bloc de notas como administrador ( Todos los programas-> Accesorios-> haga clic con el botón derecho en 'Bloc de notas' y 'Ejecutar como administrador ). Vamos a editar nuestro
hosts
archivo de Windows y no podrá guardar los cambios sin privilegios de administrador. - Busque la línea que dice 127.0.0.1 localhost y, justo después, agregue su (s) dominio (s) de desarrolloGuarde el
hosts
archivo, cierre el archivo de hosts. - Navega
C:wampbinapacheApache2.4.4confextra
y abrehttpd-vhosts.conf
. Al final del archivo, agregue:Guarde elhttpd-vhosts.conf
archivo. - Navegue
C:wampbinapacheApache2.4.4conf
y abrahttpd.conf
Busque la línea que dice# Include conf/extra/httpd-vhosts.conf
y cámbiela quitando el # inicial así:Guarde elhttpd.conf
archivo. - Haga clic en el icono de wamp en la bandeja de tareas y seleccione Reiniciar todos los servicios .
Visita tu primera ruta personalizada de Laravel
¡Okay! Si todo salió bien, y tenemos algo como lo siguiente en nuestroroutes.php
archivo (ubicado enC:wampwwwblogapp
). Casi parece similar a cómo Node.js maneja las rutas.
Deberíamos poder visitar http://you.rock/
en su navegador y ser recibidos con: ¡ La primera Ruta Laravel!
Go shorty, es tu cumpleaños, vamos de fiesta como si fuera tu cumpleaños ...
Ejem ... Ok, eso es genial, tenemos una convención de nomenclatura genial configurada, así que ahora, sin importar el nombre de su proyecto cuando lo creó, podemos tener una URL realmente genial para nuestro entorno de desarrollo. ¡¡Adelante!!
Enrutamiento a cierres
La mayoría de los tutoriales hasta ahora han tratado con enrutamiento muy simple a cierres, que es realmente el primer paso para aprender Laravel. Entonces, cuando hemos estado haciendo esto todo el tiempo:
Lo que hemos estado haciendo es encaminarnos hacia los cierres. Esto es realmente genial y bastante útil. De hecho, al crear aplicaciones pequeñas, podría ser todo lo que necesitamos.
Acceso a los parámetros de ruta
Ahora que tenemos una configuración de enrutamiento realmente básica, comencemos a aceptar parámetros para nuestras rutas. Para hacer esto, podemos usar algo como este código:
Al visitar http://you.rock/mr/anderson
veríamos algo como:
Parámetros de ruta opcionales
Agregar un ?
comodín y asignarlo null
al argumento de cierre permitirá que el parámetro sea opcional; de lo contrario, obtendrá un error si no incluye el parámetro.
?
o null
generará una excepción al visitarhttp://you.rock/mr
Establecer valores de parámetros predeterminados
Visitando http://you.rock/mr
Rutas y parámetros en acción
Esto es realmente genial. Ahora podemos usar nuestros nuevos poderes encontrados para combinar rutas con elocuentes para recuperar cosas de nuestra base de datos. Recuerde nuestro artículo de Relaciones de muchos a muchos en Laravel y hagamos algo mejor que simplemente dirigirnos a/
Configuremos una ruta para recuperar publicaciones de blog por etiqueta, si no se proporciona ninguna etiqueta, la estableceremos por defecto en 1.
Ahora podemos visitar cosas como http://you.rock/blogposts/tag
o http://you.rock/blogposts/tag/1
, http://you.rock/blogposts/tag/2
o http://you.rock/blogposts/tag/3
y obtenemos los resultados que buscamos.
¿Qué hay de obtener los valores por nombre o cadena en lugar de por id?
Bueno, ¡me alegro de que lo hayas preguntado! Cambiemos este código para que podamos pasar la identificación numérica * o * el nombre de la etiqueta en un formato de cadena:
http://you.rock/blogposts/tag
http://you.rock/blogposts/tag/1
http://you.rock/blogposts/tag/2
http://you.rock/blogposts/tag/3
http://you.rock/blogposts/tag/laravel
http://you.rock/blogposts/tag/bootstrap
http://you.rock/blogposts/tag/windows
Por ejemplo, aquí está http://you.rock/blogposts/tag/laravel
Búsqueda por babosa
También podemos usar este método para buscar por slug, siempre que tengamos un slug en nuestra blogposts
tabla. Nota: Deberá agregar uno ahora si desea probar esto.
http://you.rock/blogposts/title/install-laravel-on-windows
o http://you.rock/blogposts/title/4
proporciona la publicación en cuestión.Implemente restricciones en sus rutas
Tal vez no sea flexible y le gustaría forzar una variable en modo de bloqueo a sus usuarios. Tienes ese poder. Oblígalos a usar solo una identificación numérica. Lo que das, también puedes quitar:
http://you.rock/blogposts/title/install-laravel-on-windows
ya no funcionará!http://you.rock/blogposts/title/1
ya no funcionará!¡Nota! También puede hacer esto globalmente usando Route::pattern('id', '[0-9]+');
o en Route::pattern('id', '[A-Z-a-z]+');
lugar de donde agregamos anteriormente.
Obtenga su verborrea correcta
Hasta ahora hemos estado usando el get
verbo exclusivamente. ¡Hay más de un verbo para usar aunque el joven Laraveler! Lo hemos estado usando get
desde que esto es lo que se usa para capturar las solicitudes HTTP que hemos estado realizando a nuestras pequeñas aplicaciones.
Cada vez que un navegador web realiza una solicitud, lo hace con un verbo. get
es el más común, ya que seamos sinceros, generalmente estamos obteniendo una página web para ver en Internet. No importa el sitio web que visite, la get
solicitud es lo que le permite ver una página web.
Además de la get
solicitud, el siguiente más común es el post
. post
se utiliza para enviar algunos datos con una solicitud. El caso de uso más común es enviar un formulario en una página web.
Así que además de Route::get();
y Route::post();
laravel también proporciona Route::put();
, Route::delete();
yRoute::any();
Todos los métodos enumerados aquí toman los mismos parámetros, lo que nos permite elegir cualquier verbo para la aplicación correcta. Estos son los inicios del enrutamiento RESTful . El enrutamiento RESTful será un tutorial completamente diferente, ya que se involucra un poco.
Parámetros a verbos
En todas nuestras solicitudes de obtención hasta ahora, le hemos estado entregando una cadena y un cierre. En un sentido genérico, se ve así:
No es más que dos parámetros separados por una coma. El string
es la URL a contrastar, y el cierre es simplemente una función anónima con un poco de acción a tomar en el interior de la misma. Consulte con Chuck Norris, me refiero a Douglas Crockford, para un ejercicio alucinante para comprender los cierres en todo su esplendor.
El enrutamiento para llevar
El enrutamiento en Laravel es el pegamento que lo mantiene todo unido. Al principio, con nuestras aplicaciones pequeñas, está bien usar enrutamiento explícito y enrutamiento a cierres. A medida que profundizamos en el enrutamiento, vamos a querer explorar realmente el enrutamiento RESTful y el enrutamiento con controladores en Laravel.
0 Comentarios