Publicación de paquetes con GitHub, Composer y Packagist

Bienvenidos a una nueva lección de la tercera parte del curso Creación de componentes para PHP y Laravel, donde aprenderás a publicar un nuevo proyecto en Packagist para compartirlo con la comunidad de PHP.  Te indicaremos cuáles son los pasos a seguir y que debes tomar en cuenta en la configuración del archivo composer.json de los proyectos que instalarán nuestro paquete.

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

Uso de repositorios locales con Composer

En la lección anterior creamos un nuevo proyecto «container», en el cual incluimos parte del código desarrollado en la parte 2 de este curso, agregando algunos cambios necesarios, por supuesto, todo esto haciendo uso de pruebas unitarias. Aunque todas las pruebas están pasando hasta este momento, debemos hacer algunos arreglos adicionales para poder utilizar este componente. En la lección de hoy finalmente vamos a incluir el componente externo «container» creado dentro de nuestro mini proyecto.

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

Creación de un paquete con Composer y PHPUnit

En lecciones anteriores hemos venido desarrollando desde cero un contenedor de inyección de dependencias en PHP, ahora en esta tercera parte del curso Crea componentes para PHP y Laravel aprenderás a publicar un componente o paquete de PHP en Packagist.

Para esta primera lección prepararemos un nuevo proyecto que contendrá el contenedor que hemos desarrollado, extrayendo las clases referidas a él de nuestro mini proyecto.

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

Sobrecarga en PHP extendiendo la clase Laravel Collection

Cuando trabajamos con bases de datos en Laravel hacemos uso del ORM que trae consigo el framework por defecto, se trata de Eloquent, el cual nos ofrece un gran número de métodos muy útiles al momento de interactuar con cada modelo de datos (o tabla dentro de una base de datos). Por ejemplo

// Nueva instancia del modelo user
$user = new User;
// Devuelve el registro con id = 1
$user->find(1);

Para mas información sobre Eloquent visita nuestros tutoriales al respecto.

Esto es gracias a la clase Collection de Eloquent que a su vez extiende de la clase Illuminate\Support\Collection de Laravel. Esta clase nos ofrece también otra forma de trabajar con variables de tipo Array gracias al helper collect() de Laravel.

$array = [1,2,3,4,5];
$collection = collect($array);

// Devuelve "1" -- el primer elemento del array
$collection->first();

Visita el post sobre Uso de colecciones en Laravel.

Desafortunadamente cuando usamos el helper collect() no podemos obtener los valores de un array de la misma forma que lo hacemos con los objetos de Eloquent; Es decir, no podemos llamar $user->name, por el contrario tenemos que usar el método get() para obtener el valor.

$user = ['name' => 'Joe', 'age' => 25];

$user = collect($user);

$user->get('name');

Vamos a solucionar ese problema extendiendo la funcionalidad de la clase Illuminate\Support\Collection en una nueva clase que llamaremos Collector. Primero crearemos un nuevo directorio llamado Collector dentro de la carpeta app/. Una vez hecho esto, vamos a crear un nuevo archivo para nuestra clase llamado Collector.php que extenderá a la clase Illuminate\Support\Collection.

Ver post

Registro de actividad con Laravel logging

registro-de-actividad-por-laravel-logging Los logs en Laravel almacenan la información correspondiente a todos los errores (Excepciones) y/o eventos inesperados dentro de una aplicación para tener un registro de estas incidencias y así poder depurar mucho más fácil nuestro código. Estos logs se almacenan en el archivo laravel.log dentro de la carpeta /storage/logs, lo siguiente es un ejemplo de cómo se registran las excepciones en dicho archivo.

Ver post

Encriptar datos en Laravel

encriptar-datos-laravel-5-1

Laravel nos brinda una forma y sencilla de encriptar nuestros datos, de esta forma hacerlos ilegibles a receptores no autorizados. El único objetivo de esta técnica es incrementar la seguridad de los datos y por lo tanto la confidencialidad de los mismos.

Quiero mostrar como podemos almacenar información encriptada en la base de datos y luego como hacer para desencriptarla para su posterior uso. 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.