Modificando migraciones en Laravel

banner-modificando-migraciones

A medida que avanzamos en el desarrollo de una aplicación puede que las tablas o los campos creados en la base de datos ya no se adapten o que simplemente necesitamos hacer algunos cambios.  Sin embargo, para ese momento no es posible hacer rollback a las migraciones hechas, pues, por ejemplo, la aplicación ya está en producción. Por consiguiente, para modificar la base de datos debemos hacer uso de las migraciones, tal y como lo hicimos al crear las tablas, pero ahora para cambiarlas. Hoy vamos a ver cuáles opciones tenemos disponibles para ello.

Ver post

Traducciones con el componente Styde\Html

styde-html-package-traducciones

Otra de las características que podemos encontrar en el componente Styde\Html es el de traducir textos ya sea mensajes de error, notificaciones, etiquetas de los formularios y los elementos de un menú de una manera muy sencilla. Con ello podemos implementar más de un idioma para nuestras aplicaciones y según las necesidades de los usuarios o te facilita el trabajo si prefieres tener todos los textos de la aplicación en un solo lugar.

Ver post

Compartir instancias dentro del contenedor de inyección de dependencias (singleton)

En la lección anterior sobre Singleton, aprendimos que en realidad es un anti patrón que limita y hasta daña el diseño del código de nuestras clases o incluso de toda la aplicación como tal.

Pero es cierto que muchas veces solamente necesitamos una instancia, de las clases con las que estamos trabajando. Especialmente si estás creando o utilizando clases como las que incluye el framework Laravel como por ejemplo: Session Managers, Authenticators, Database, etc.

En este escenario no creamos o implementamos singleton directamente en cada clase, dado que no es correcto como ya aprendimos, sino que por el contrario nos apoyamos una vez más en el contenedor de inyección de dependencias, como aprenderemos en la clase de hoy:

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

El patrón ¿o anti patrón? Singleton

Continuando con nuestro Curso de creación de componentes para PHP y Laravel, en la lección de hoy aprenderemos sobre los patrones de diseño, específicamente el patrón (o también llamado anti patrón) Singleton pero ¿Qué es un patrón de diseño?.

Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.

Los patrones de diseño se utilizan con la finalidad de estandarizar la forma en que desarrollamos el código ofreciendo soluciones reusables. Es importante señalar que el uso e implementación de un patrón de diseño no es obligatorio, pero en algunos casos es recomendado como parte de las buenas prácticas.

En este caso, cómo lo mencionaba anteriormente veremos qué es y como implementar el patrón Singleton.

Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.

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

Crea un layout responsivo con css

Ahora que hemos aprendido cómo utilizar los diferentes métodos que forman parte del desarrollo de RWD, vamos a comenzar a aplicarlos de forma práctica.

Para los ejemplos que presentaremos usaremos el enfoque mobile-first que significa pensar y diseñar para móviles primero. La idea de este enfoque es asegurar que el contenido mostrado es el mismo en todos los tamaños de pantalla, asegurando que el contenido esté bien formateado y optimizado para móviles primero, y luego adaptarlo a pantallas más grandes. Con más de 50% de usuarios móviles en promedio a través de muchos países del mundo, no es de extrañar que esta metodología sea la más aceptada en el mundo de RWD.

Este tutorial esta hecho para aprender a hacer RWD manualmente, para entender bien cómo funciona y cómo controlar cada aspecto del mismo, por lo tanto no se usará ningún framework como Bootstrap o Foundation, los cuales explicaremos más adelante.

Ver post

Paso de argumentos a través del contenedor de inyección de dependencias

Hoy en día, frameworks como Symfony o Laravel trabajan para que sus componentes sean lo más desacoplados que sea posible, y pueda reemplazarse la implementación de ciertas clases por otra. Logrando así un código más escalable y flexible. Para ello, ambos frameworks se apoyan muchísimo en el patrón de inyección de dependencias. Este patron es tan importante, que hemos dedicado toda la parte 2 de nuestro curso de creación de componentes para PHP y Laravel, a hablar de él, incluso ¡Estamos creando nuestro propio contenedor de inyección de dependencias!

Con el patrón de inyección de dependencias, los objetos, de los cuales una clase depende, son inyectados a través del constructor o de métodos setters. Pero no todas las clases dependen únicamente de otras clases, muchas veces, por ejemplo, cuando utilizamos una clase para conectarnos a una base de datos o API, esta necesita de valores escalares, como pueden ser las cadenas para conectarse a una URL o host, un nombre de usuario y una clave.

El día de hoy implementaremos este feature dentro de nuestro contenedor, mientras aprendemos más sobre el uso de Reflection en PHP.

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

Hostnames automáticos con el plugin Vagrant Hostupdater en Homestead

hostname-automatico-vagrant-homestead-styde

Homestead es una maquina virtual (VM por sus siglas en ingles) para Vagrant configurada para desarrollar proyectos web, especialmente usando Laravel. Gracias a Homestead podemos configurar fácilmente en una sola VM todos los proyectos en los cuales estemos trabajando. Si no has utilizado esta herramienta, en nuestra serie dedicada a Vagrant y Homestead puedes encontrar varios tutoriales que te guiarán paso a paso en el proceso de instalación y configuración dependiendo del sistema operativo que estés utilizando.

La configuración de un nuevo proyecto en Homestead es muy sencilla en realidad, aún así, podemos agilizar el proceso haciendo uso de este plugin llamado vagrant-hostupdater, que nos ayuda a establecer de forma automática los hostname para cada proyecto evitando así la necesidad de editar manualmente el archivo hosts para cada instalación, algo que encuentro muy útil a la hora de trabajar con múltiples proyectos simultáneamente.

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.