Ejemplo para Refactorizar: creando la estructura base
En esta lección vamos a trabajar en la estructura base para nuestro ejemplo. Para ello voy a crear y configurar un nuevo proyecto utilizando Composer y PSR-4.
En esta lección vamos a trabajar en la estructura base para nuestro ejemplo. Para ello voy a crear y configurar un nuevo proyecto utilizando Composer y PSR-4.
La refactorización es una técnica que nos permite mejorar el diseño de nuestro código sin alterar su funcionalidad. Esto nos permite no solo entender mejor nuestro código y añadir funcionalidades extras sino también detectar posibles errores con más frecuencia y en definitiva hacer que nuestros desarrollos evolucionen con el paso del tiempo. En esta lección veremos un preámbulo de este curso.
Los Model Factories nos permiten crear registros de prueba, ya sea para cargar nuestra base de datos con «información falsa» o «información de prueba» o para crear las condiciones necesarias para ejecutar pruebas automatizadas. En esta lección practicaremos con la creación de modelos desde Tinker y desde nuestros seeders utilizando Model Factories. Además te enseñaré cómo generar tus Model Factories personalizados, adaptarlos al modelo correspondiente y también veremos una pequeña introducción al uso del componente Faker.
Las tablas de una base de datos a menudo están relacionadas unas con otras. Por ejemplo, un usuario puede estar asociado a una profesión y una profesión puede tener muchos usuarios asociados. Utilizando el ORM Eloquent podemos hacer que este proceso sea mucho más fácil, trabajando con las relaciones directamente dentro de nuestros modelos (usando Programación Orientada a Objetos) y creando métodos personalizados que nos evitarán tener que construir consultas de forma manual.
En esta lección vamos a aprender un poco más sobre cómo trabajar con los atributos de Eloquent, es decir cómo podemos leer y asignar atributos a un modelo. La asignación de atributos la haremos utilizando asignación masiva e individual, y veremos de qué se trata el error MassAssignmentException
, cómo solucionarlo y cual es la protección que nos ofrece Laravel para evitar la inyección de atributos no deseados cuando cargamos datos provenientes de la petición de un usuario (por ejemplo a través de un formulario o API). Además te enseñaré cómo puedes convertir atributos de un tipo a otro mediante la propiedad $casts
de Eloquent. Todos estos conceptos te acercarán más a lo que necesitas saber para comenzar a crear módulos CRUD con este genial framework.
En esta lección aprenderemos a interactuar desde la terminal con nuestra aplicación utilizando la consola dinámica Tinker. También veremos nuevos métodos de Eloquent para interactuar con nuestros modelos y aprenderemos cómo crear nuestros propios métodos dentro de los modelos.
Ver post
Para trabajar con bases de datos en Laravel no necesitamos escribir SQL de forma manual, ni siquiera utilizar el constructor de consultas. Laravel nos permite interactuar con la base de datos a un nivel mucho más alto a través del ORM Eloquent. Utilizando Eloquent podemos trabajar con modelos, que son clases que representan nuestras tablas en la base de datos y nos proveen de métodos con los que podemos interactuar en una interfaz más «elocuente» y orientada a objetos. Ver post
En esta lección veremos más a detalle cómo funciona el constructor de SQL de Laravel y aprovecharé la ocasión para enseñarte cómo puedes ejecutar consultas SQL de forma manual utilizando el framework y cómo puedes protegerte del ataque de inyección SQL cuando utilizas Laravel.
En la lección anterior cargamos datos de prueba utilizando un administrador de base de datos, sin embargo esto trae como consecuencia que cada vez que ejecutemos migrate:refresh
o migrate:fresh
perdamos dichos datos. En esta lección veremos una mejor forma de cargar datos de prueba utilizando los Seeders de Laravel.
En esta lección del Curso de Laravel desde cero veremos más a fondo el sistema de migraciones de Laravel. En esta oportunidad, te enseñaré cómo crear nuevas tablas y cómo crear asociaciones entre una tabla y otra utilizando claves foráneas. También aprenderás un poco más sobre las convenciones que podemos utilizar al momento de generar nuevas migraciones y sobre otros métodos para definir campos.
Ver post