Guía rápida Laravel 5.7
Este artículo abarcará solo las características más resaltantes de Laravel, para aquellas personas que estén iniciando en el aprendizaje de este framework.
Instalación de un proyecto Laravel
Por primera vez:
composer global require laravel/installer
Composer créate-project laravel/laravel nombreProyecto 5.7
Cuando ya hemos creado algún proyecto en Laravel:
Laravel new nombreProyecto
Configuración
Se debe cambiar el timezone en la carpeta config>app.php, con el buscador indicar timezone para ubicarlo más rápido en el archivo y cambiarlo según su ubicación.
Cambiar el lenguaje por defecto de Laravel, viene por defecto en inglés, así que los mensajes de errores, van a salir en inglés, para cambiar eso, en el mismo archivo, buscar ‘locale’ y cambiarlo a es, luego se debe crear una carpeta en resources>lang llamada es, dentro de esa carpeta se deben agregar los archivos necesarios, en este caso, se pueden descargar del repositorio de github
//github.com/Laraveles/spanish/tree/master/resources/lang/es
guardarlos en la carpeta, y ya estará configurado el idioma.
Para configurar la base de datos, en la carpeta config>database.php y en el archivo .env se deben cambiar las credenciales de las siguientes variables de entorno:
HTTP
Es bueno tener claro los conceptos básicos de una arquitectura RESTful en Laravel.
GET: Obtener un recurso
POST: Envía los datos para ser procesados
PUT/PATCH: Actualizar un recurso
DELETE: Eliminar o borrar.
Rutas
Para definir las rutas en Laravel, necesitamos buscar en la carpeta routes y hay dos archivos importantes, bueno son 4, pero solo usaremos 2 que son api.php y web.php, el primero es para configurar las rutas de una API y la otra es para una web en general. Se pueden declarar las rutas de muchas maneras:
Route:get(‘/’, function () {
Return ‘mensaje’ o view(‘vista’);
}); -> ruta por defecto
Route::get (‘/’, ‘nombreControlador@nombreFuncion’);
-> Cuando queremos crear nuestras propias funciones en el controlador, y también especificar la ruta de nuestra preferencia.
Route::resource(‘Book’,’BookController’);
-> Cuando las rutas que vamos a usar son las que Laravel trae por defecto para los controladores.
Los recursos son las funciones asociadas al controlador: index, create, store, show, edit, update y destroy.
Para el ejemplo anterior, las rutas quedarían así:
HTTP | Ruta | Función | Nombre completo |
GET | /books | index | books.index |
GET | /books/créate | Créate | Books.create |
POST | /books | Store | Books.store |
GET | /books/{book} | Show | Books.show |
GET | /books/{book}/edit | Edit | Books.edit |
PUT/PATCH | /books/{book} | Update | Books.update |
DELETE | /books/{book} | Destroy | Books.destroy |
Controladores
Para crear un controlador sin ningún método:
Php artisan make:controller NombreControlador
Para crear un controlador con todos los recursos, es decir, funciones estándar:
Php artisan make:controller NombreControlador –r
o
Php artisan make:controller NombreControlador –resource
Vistas
Se recomienda crear una carpeta dentro de resources>views por cada controlador, así se mantiene un orden, y después cuando se llame la vista, será de la siguiente manera:
Donde books es el nombre de la carpeta que se creó en resources>views y create es el nombre de la vista que va a mostrar.
Blade
Es la creación de plantillas para facilitar el trabajo de la creación de las vistas, y que sea vea más ordenado y entendible.
Para separar la estructura básica de la página, se puede crear un archivo llamado layout.blade.php donde estará todo el diseño de la página web, donde queramos este el contenido que se cargue de manera dinámica será agregándole
@yield(‘contenido’)
Al momento de agregar el layout al diseño, se hara de la siguiente manera:
@extends(‘layout’)
@section(‘contenido’)
//Todo el contenido de esa sección
@endsection
Request
Estos son todos los datos que se envían por un formulario. A través delos request se puede saber lo que se guardó:
$request->input(‘name’);
Form Request
Para crear las validaciones necesarias de cada dato recibido, se crea un request, un ejemplo de un request es el siguiente:
La lista completa de las validaciones disponibles que dispone Laravel, se encuentran por aquí: //laravel.com/docs/5.7/validation#available-validation-rules
Eloquent ORM
En este caso, es importante conocer los helpers y las collection de Laravel
Modelos y Migraciones
Para crear el nombre del modelo debe ir en singular, en la base de datos si debe ir en plural, por lo general, Laravel hace una buena relación con los nombres, pero a veces comete errores en esto, y por eso es recomendable que se cree el modelo y la migración por separado.
Se puede crear el modelo y la migración en la misma línea:
Php artisan make:model NombreModelo –m
Si desea crear por separado, no se le añade –m al final de la línea de comandos, pero para se debe crear la migración:
Php artisan make:migration create_nombre_modelos_table
Y dentro del modelo se debe especificar el nombre de la base de datos:
Http Responses
Existen muchas maneras:
- Redirect: retorna nombre de rutas, acciones del controlador, dominios externos, sesiones.
Por defecto: Return redirect();
Nombres de rutas: Return redirect()->route(‘books.index’);
Con parámetros: Return redirect()->route(‘profile’, [‘id’=>1], [$user]);
Controller actions: return redirect()->action(‘BookController@index’);
External Domains: return redirect()->away(‘//www.google.com’);
Session data: return redirect(‘dashboard’)->with(‘status’, ‘ok’);
- View: retorna vistas
Return response()->view(‘hola’, $data, 200)->header(‘content-type’, $type);
- Json:
Return response()->json([‘name’=>’Stephanie’, ‘state’=>’Tachira’]);
Session data
Con la función with se envían datos
With(nombre, mensaje);
Por lo general, el nombre es el status, y el mensaje que se va a mostrar en la vista. Para mostrarlo en la vista se deben ingresar las siguientes líneas:
Manejo de las vistas de errores
Para hacer el manejo de las páginas de los errores, como por ejemplo 404, se pueden personalizar. En la carpeta resources>views se crea una carpeta llamada errors y se crean todos los archivos de errores que queramos manejar, en este caso se puede crear uno para el 404, se llamara 404.blade.php, y se diseña como queramos, y así para los demás errores.
Autenticación
Laravel ya cuenta con unas secciones de manejo de la autenticación de los usuarios, solo se debe escribir en la línea de comandos:
Php artisan make:auth
Crea el login y el registro de usuarios
Estos son algunos tópicos importantes a tomar en cuenta, cuando estamos aprendiendo Laravel.