En entradas anteriores hemos hablado de como realizar vistas utilizando Blade, ahora explicaremos como realizar el enrutamiento de estas vistas que ahora tenemos.
Para comenzar debemos saber que las rutas que usara nuestra aplicación se definen en el archivo routes/web.php, si no lo definimos en este archivo la ruta no sera encontrada y al tratar de acceder nos enviara un error 404.
Rutas
Una ruta básica se compone de dos partes URL y el método de llamada (GET, POST, PUT).
Route:: get ('/', function () { return '¡Hola MUndo!'; });
En este ejemplo, se ejecutara cuando se realice una petición GET a la ruta http://localhost/public
La ruta que colocamos en lugar de ‘/’ es a la que tendremos que realizar una petición para poder ejecutar el código de esa ruta. También es importante especificar el tipo de llamada GET, POST etc.
En esta segunda ruta para poder ejecutarlo tendría que realizar la petición PUT a http://localhost/public/inicio/datos
Route:: put ('inicio/datos' function() { return 'Hola Mundo'; });
Rutas con MVC
El modelo vista controlador nos permite mantener separados los datos de una aplicación, la interfaz de usuario y la lógica de control. Para realizar esta separación utilizamos Modelos, Vistas y Controlador.
- Cuando ingresamos la petición http tipo GET se envía al archivo app/http/routes.php
- Este nos envía a un controlador en el que se encuentra la lógica.
- Interactúa con un modelo el cual nos sirve para obtener información de la BD.
- y 5 Con los datos obtenidos se llena la vista de la ruta resources /views/ que es lo que finalmente vemos.
Si desean una entrada para obtener mas detalles de MVC pueden dejar su petición en la caja de comentarios.
Rutas en una Aplicación.
Vamos a utilizar como ejemplo la pagina maestra que creamos en el primer tutorial. En esta vista se encuentra un menú. Para poder cambiar entre paginas debemos crear sus rutas.
1. Teniendo nuestras vistas necesarias, creamos nuestro Controlador en la ubicación app/http/controllers/HomeController.php en el crearemos las funciones que retornaran las vistas.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class HomeController extends Controller { public function inicio(){ return view('inicio'); } public function proyecto(){ return view('proyecto'); } }
En este caso en return view indicamos el nombre de la vista que deseamos que se muestre al ejecutar la función.
2. En la ubicación app/routes/web.php creamos las rutas para ejecutar esas funciones de nuestro controlador.
<?php Route::get('/', 'HomeController@inicio'); Route::get('proyecto', 'HomeController@proyecto');
Crear ruta:
- Colocar el tipo de llamada (GET, POST , PUT etc) Route::get
- Indicar la ubicación que ejecutara la llamada Route::get (‘/’ )
- Nombramos al controlador y la función que regresa la vista correspondiente Route::get (‘/’,’HomeController@Inicio’ );
3. Utilizar las rutas para acceder a las vistas.
En el menú de la pagina maestra se encuentran los enlaces para acceder a las demás vistas y aquí es donde indicaremos el nombre de la función de nuestro Controller que retorna la vista.
<ul> <li><a href="inicio">Inicio</a></li> <li><a href="proyecto">Conoce el Proyecto</a></li> </ul>
De esta manera utilizamos las rutas en Laravel para poder mostrar las vistas que necesitemos. En la siguiente entrada utilizaremos los demás métodos (POST, PUT etc).
Espero sus sugerencias o dudas en la caja de comentarios.