Seeders con programación orientada a objetos (Herencia)

En la lección de hoy, usaremos algunas características de la programación orientada a objetos de PHP para crear seeders aún más potentes ¡Para éste y otros proyectos en los que debas trabajar! Además repasarás o aprenderás conceptos de POO como el uso de herencia, clases abstractas, principio DRY, y otros.

En esta clase usaremos programación orientada a objetos y herencia para crear una clase abstracta llamada BaseSeeder que agrupará la lógica que se puede repetir en todos nuestros seeders.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de seeders para vaciar tablas que tengan restricciones de llaves foráneas

Definir «constraints» en nuestras tablas es la manera adecuada de trabajar nuestra base de datos, porque nos obliga a evitar inconsistencias, por ejemplo dejar registros «huérfanos»: una talla de un producto que ya no existe en la base de datos, un libro sin autor, etc. etc.

$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');

Sin embargo, por un lado definimos las asociaciones entre una tabla y otra, por otro lado comienzan a aparecer errores de CONSTRAINTS que muchas veces desesperan al programar y lo llevan a eliminar las llaves foráneas, lo cuál hace que las consultas se ejecuten más lentamente y la base de datos pueda quedar en estados inconsistentes como ya mencioné.

Pero después de ver esta lección, podrás definir tus tablas de la manera adecuada (con sus indices de llaves foráneas) y sabrás porqué se producen y cómo evitar estos errores de constraints.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Uso de seeders para la creación del usuario administrador

Los seeders de Laravel nos permiten cargar datos en nuestras tablas con algunas líneas de código. Junto con el componente Faker son una herramienta muy poderosa para tener decenas o cientos de filas «de prueba» que nos van a permitir comenzar a probar nuestra aplicación rápidamente.

En el curso básico, aprendimos a crear seeders para un sólo módulo, y en las siguientes 3 lecciones aprenderemos cómo crear seeders para tablas relacionadas y manejar los errores de «constraints».

Si es tu primera vez trabajando con Laravel, te recomiendo que veas la lección de Seeders del curso básico antes de continuar.

En esta lección, crearemos un único usuario administrador para nuestro proyecto y de esta forma haremos un repaso rápido de cómo trabajar con los seeders.

No olvides visitar nuestra lección del curso básico sobre seeders si es la primera vez que escuchas sobre este componente.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Migración para la tabla de comentarios

En esta lección crearemos la tabla de comentarios de tickets, y daremos un repaso rápido de todas las tablas que creamos para el desarrollo de nuestra aplicación.

Si quieres seguir practicando con la creación de migraciones, intenta crear tablas para categorizar los tickets y para darle «me gusta» a los comentarios, no olvides compartir con los demás estudiantes los ejercicios o solicitarnos ayuda si tienes alguna pregunta.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Creación de las migraciones de nuestra aplicación

En las siguientes dos lecciones crearemos las tablas que usaremos en el desarrollo de nuestra aplicación, mediante el sistema de migraciones de Laravel.

Si nunca has usado el sistema de migraciones con Laravel o quieres repasar conocimientos, es importante que veas esta lección antes de continuar: Sistema de migraciones con Laravel

En esta lección usaremos el sistema de migraciones de Laravel para crear las tablas de usuarios, tickets y votos para nuestro proyecto, al culminar esta lección te pediré que crees la tabla de comentarios, así que presta mucha atención, intenta resolver el ejercicio por ti mismo y ve la solución en el siguiente tema.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Creación y configuración de un repositorio Git

Git es conveniente para desarrollar nuestros proyectos aún si trabajamos solos, y totalmente imprescindible si trabajamos en equipo.

¿Cuantas veces has hecho un cambio y has dañado el funcionamiento de una parte o toda tu aplicación y no estás totalmente seguro de qué sucedió o cómo revertirlo? O de pronto estás trabajando en equipo y necesitas sincronizar y unir tus cambios con los de otros compañeros de trabajo.

Todo esto es posible sólo con un sistema de control de versiones como Git, así que antes de comenzar a desarrollar la aplicación, voy a crear y a explicarte brevemente cómo configurar un repositorio en GitHub.

Si nunca has usado Git, este video te servirá como una rápida introducción, si ya eres experto con Git puedes saltar esta lección e ir a la siguiente.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Cómo subir archivos con Laravel 5

filesystem-baner

Sin duda alguna la subida de archivos en aplicaciones PHP es siempre un tema que causa algunos problemas. Laravel, sin embargo, trae consigo un potente herramienta que permite manejar de una manera muy fácil estos procedimientos e incluso permite integrar nuestro proyecto con sistemas de almacenamiento no sólo locales sino otros en la nube como Amazon S3 y Rackspace.

En este caso hablaremos del uso básico y manejo de archivos en discos locales.

Ver post

Múltiples bases de datos con Laravel 5 y Eloquent

mutiples-bases-de-datos-laravel-5

Algunos proyectos de desarrollo pueden requerir el uso de una o varias bases de datos en las cuales almacenar de forma independiente toda la información del sistema, inclusive puede ser requerido el uso de múltiples motores de bases de datos en algunos casos.

Sin duda puede resultar una tarea tediosa el manejo de estas conexiones, la configuración de los modelos para cada motor de base de datos, entre otros.

Ver post

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Suscríbete a nuestro boletín

Recibe consejos útiles, promos y múltiples recursos directamente en tu correo.

Tu nombre y correo serán enviados directamente a MailChimp. No compartiremos tus datos con otras empresas.