PHP Modelo - Vista - Controlador version 13
Sumario
Introdución a Laravel
Que é Laravel?
Laravel é un framework de desenvolvemento web para PHP que facilita a creación de aplicacións web modernas, organizadas e seguras.
Un framework é un conxunto de ferramentas, bibliotecas e regras de organización que nos axudan a desenvolver aplicacións sen ter que programar todo desde cero.
Laravel está desenvolvido en PHP e é de código aberto, polo que podemos utilizalo gratuitamente.
Con Laravel seguimos programando en PHP, pero dispoñemos de moitas funcionalidades que simplifican o noso traballo.
Para que se utiliza Laravel?
Laravel permite desenvolver aplicacións web de diferentes tipos:
- Tendas en liña.
- Aplicacións para xestionar usuarios e contrasinais.
- Sistemas de reservas.
- Plataformas educativas.
- Aplicacións de xestión de empresas.
- Aplicacións que consultan e modifican bases de datos.
- APIs para aplicacións móbiles ou aplicacións web.
Por exemplo, podemos utilizar Laravel para desenvolver unha aplicación de xestión dunha biblioteca que permita:
- Rexistrar libros.
- Consultar os libros dispoñibles.
- Engadir, modificar e eliminar libros.
- Xestionar préstamos.
- Identificar os usuarios mediante o seu nome e contrasinal.
Por que utilizar Laravel en lugar de PHP directamente?
Con PHP podemos desenvolver todas estas aplicacións sen utilizar ningún framework. Porén, cando unha aplicación medra, debemos resolver numerosos problemas:
- Organizar o código en diferentes ficheiros e clases.
- Xestionar as conexións coa base de datos.
- Procesar e validar formularios.
- Xestionar sesións e usuarios.
- Protexer a aplicación fronte a ataques.
- Xestionar os enderezos URL da aplicación.
- Evitar repetir código.
Laravel proporciona ferramentas para resolver estes problemas de forma organizada.
Polo tanto, Laravel non substitúe a PHP, senón que facilita a súa utilización para desenvolver aplicacións web.
Principais vantaxes de Laravel
1. Organización do código
Laravel utiliza unha arquitectura baseada no patrón Modelo-Vista-Controlador (MVC).
Este patrón permite separar as diferentes responsabilidades dunha aplicación:
- Modelo: representa os datos e permite traballar coa base de datos.
- Vista: encárgase de mostrar a información ao usuario.
- Controlador: recibe as peticións e coordina as operacións necesarias para xerar unha resposta.
Esta separación facilita a comprensión, modificación e mantemento do código.
2. Acceso sinxelo a bases de datos
Laravel inclúe Eloquent, unha ferramenta ORM (Object-Relational Mapping) que permite traballar con táboas de bases de datos mediante clases e obxectos PHP.
Por exemplo, para obter todos os libros dunha táboa podemos escribir:
$libros = Libro::all();
Sen utilizar un ORM, normalmente teriamos que escribir unha consulta SQL e procesar os seus resultados.
Laravel tamén permite utilizar consultas SQL cando sexa necesario.
3. Xestión de rutas
As rutas permiten indicar que debe facer a aplicación cando un usuario accede a un enderezo URL.
Por exemplo:
Route::get('/saudo', function () {
return 'Ola mundo';
});
Cando o usuario acceda ao enderezo /saudo, Laravel devolverá o texto Ola mundo.
As rutas permiten organizar os enderezos da nosa aplicación sen ter que crear un ficheiro PHP independente para cada páxina.
4. Modelos para xerar páxinas HTML
Laravel inclúe Blade, un sistema de modelos (templates) que permite combinar HTML con datos procedentes de PHP.
Por exemplo:
<h1>Listaxe de libros</h1>
@foreach ($libros as $libro)
<p>{{ $libro->titulo }}</p>
@endforeach
Blade facilita a reutilización de elementos comúns, como cabeceiras, menús e pés de páxina.
5. Seguridade
Laravel incorpora funcionalidades que axudan a desenvolver aplicacións seguras:
- Protección contra ataques CSRF nos formularios.
- Protección fronte a inxeccións SQL ao utilizar consultas parametrizadas.
- Escape do contido HTML mediante Blade para reducir os riscos de XSS.
- Ferramentas para a autenticación e autorización de usuarios.
- Almacenamento seguro de contrasinais mediante funcións hash.
Estas ferramentas facilitan a seguridade, aínda que o programador debe utilizalas correctamente.
6. Validación de formularios
Laravel permite comprobar os datos recibidos dun formulario mediante regras de validación.
Por exemplo:
$request->validate([
'nome' => 'required|string|max:100',
'email' => 'required|email',
]);
Neste exemplo compróbase que:
- O nome sexa obrigatorio, unha cadea de texto e non supere os 100 caracteres.
- O correo electrónico sexa obrigatorio e teña un formato válido.
7. Ferramentas para o desenvolvemento
Laravel inclúe Artisan, unha ferramenta de liña de comandos que permite automatizar tarefas habituais.
Por exemplo:
php artisan make:controller LibroController
Este comando crea un controlador.
Outro exemplo:
php artisan make:model Libro -m
Este comando crea un modelo e un ficheiro de migración para definir a súa táboa.
Artisan evita ter que realizar manualmente moitas tarefas repetitivas.
Laravel e MySQL
Laravel pode traballar con diferentes sistemas xestores de bases de datos, entre eles MySQL.
A configuración da conexión realízase habitualmente mediante variables de contorno definidas no ficheiro .env.
Por exemplo:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=biblioteca
DB_USERNAME=usuario
DB_PASSWORD=contrasinal
Laravel tamén dispón de migracións, que permiten definir e modificar a estrutura da base de datos mediante código PHP.
Isto facilita manter a mesma estrutura de táboas en diferentes equipos e contornos de desenvolvemento.
Que necesitamos saber para aprender Laravel?
Para comezar con Laravel convén ter coñecementos previos de:
- PHP e programación orientada a obxectos.
- HTML e CSS.
- Formularios e métodos GET e POST.
- Bases de datos relacionais e SQL.
- Conceptos básicos do funcionamento dunha aplicación web.
Tamén utilizaremos outras ferramentas:
- Composer: xestor de dependencias de PHP.
- Artisan: ferramenta de comandos de Laravel.
- MySQL: sistema xestor de bases de datos.
- Visual Studio Code: editor de código.
Resumo
Laravel é un framework PHP que proporciona ferramentas para desenvolver aplicacións web dunha forma máis organizada, rápida e segura.
As súas principais vantaxes son:
- Organización do código mediante MVC.
- Acceso a bases de datos mediante Eloquent.
- Xestión sinxela de rutas.
- Xeración de páxinas HTML mediante Blade.
- Validación de formularios e ferramentas de seguridade.
- Automatización de tarefas mediante Artisan.
- Facilidade para manter e ampliar aplicacións.
A idea principal é que con Laravel seguimos utilizando os nosos coñecementos de PHP, pero aproveitamos ferramentas que simplifican o desenvolvemento de aplicacións web.