Evelb

Tutorial Laravel – Primeros pasos

Tutorial Laravel – Primeros pasos
Hector Novoa
Desarrollador Web
«.»
Post más relevante: Nginx, Una gran mejora frente Apache

Hola a todos. Después de explicar en el post anterior la instalación de Laravel, llega el turno de explicar la estructura de archivos que usa para poder dar nuestros primeros pasos con este framework. Hoy nos centraremos en los archivos básicos para poder arrancar nuestro proyecto, dejando para posts posteriores la explicación de funciones mas complejas.

Antes de comenzar es necesario tener en consideración que Laravel usa el patrón MVC (Modelo Vista Controlador), que obliga a crear la pagina con una estructura que divida las vistas del sistema por un lado, el acceso a los datos por otro y los controladores que gestionan las solicitudes, de forma que todo sea independiente.

Una vez explicado lo anterior, procedemos a dar nuestros primeros pasos con Laravel. Lo primero seria explicar los directorios básicos, que una vez creado el proyecto se vera así:

Laravel's Root Project

De todos esos directorios tenemos que destacar varios:

  • app: Donde se encuentra toda la lógica de negocio, los modelos y los controladores
  • config: Directorio que contiene todos los archivos de configuración de Laravel.
  • database: Lugar en el que crearemos nuestra base de datos.
  • public : Directorio publico de la web.
  • resources: Carpeta en la que crearemos las vistas de la pagina, así como los estilos y funciones javaScript si decidimos usar SASS o Gulp.
  • routes: Directorio que contiene los archivos con las rutas del sistema.

Lo primero que tenemos que hacer es definir la conexión a nuestra base de datos, para eso abriremos el archivo .env situado en la raíz del sistema, este archivo contiene las variables de entorno entre las que se encuentran las relacionadas con la base de datos.

VariablesEntornoLaravel

Por defecto, Laravel soporta bases de datos mysql, sqlite y postgresql, por lo que con definir que tipo de base de datos tenemos y insertar los datos de la misma es mas que suficiente.

Ahora que tenemos nuestra base de datos lista, es hora de crear los modelos y nuestra tabla.

Aquí es donde Laravel comienza a ayudarnos. Laravel dispone de una herramienta llamada Artisan que nos permite crear todo lo necesario de forma sencilla.

Pensemos que lo primero que queremos crear es el sistema para mostrar posts de un blog, para eso primero crearemos el modelo Post que acceda a la tabla posts que crearemos también con Artisan, para ello ejecutamos en una terminal el comando:

php artisan make:model -m Post

Este comando creará dos archivos, por un lado un archivo de migración situado en /database/migration.

MigracionLaravel

Este archivo permitirá crear la tabla post en la base de datos, con los campos que le indiquemos, por ejemplo los que se ven en la imagen anterior, al ejecutar el comando:

php artisan migrate

Ademas, crea en el directorio /app el archivo Post.php, que es el modelo encargado de acceder a la tabla post de la base de datos, por defecto esta vacío, pero necesitamos introducir unos datos básicos para que quede como en la imagen siguiente, de tal forma que se defina la tabla a usar y los campos a los que queremos que acceda el modelo .

ModeloLaravel

El siguiente paso es crear un controlador que gestione la información, para ello de nuevo usaremos la herramienta artisan a través del comando:

php artisan make:controller PostsController

Este comando creara el archivo PostsController en el directorio /app/Http/Controllers. Este controlador se creara vacío y en el crearemos los métodos que necesitemos, por ejemplo, el index.

ControladorLaravel

Como vemos en la imagen anterior, el controlador llama al modelo Post para obtener todos los posts almacenados y se los pasa a la vista indicada. Esta vista la creamos manualmente en la carpeta /resources/views/posts con el nombre index.blade.php, en este archivo pondremos todo el código necesario para crear la vista como queramos.

Con todo esto, la estructura básica de un proyecto en Laravel quedaría completa menos por una ultima cosa, ¿Como le decimos a Laravel que controlador se corresponde con cada llamada? Para esto existe el directorio routes, en el que se definen las relaciónes entre las rutas y los controladores.

En este caso, seria suficiente con introducir en el archivo web.php la ruta:

Route::resource('posts','PostsController');

Esta ruta nos permite acceder a los metodos: index, create, store, show, destroy, edit y update. Para cualquier otra ruta es necesario crear rutas personalizadas, pero esto se explicara en posts posteriores.

Con esto finalizamos el post de hoy, con nuestra base de Laravel creada, y listos para continuar con elementos mas complejos de este framework que nos ofrece infinitas posibilidades.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *