PHP, el lenguaje de programación para el desarrollo web.

Artículos, reflexiones y novedades sobre PHP, el lenguaje de programación de alto nivel, orientado a objetos y basado en software libre.

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de programación desarrollado por Rasmus Lerdorf en 1995, y que está enfocado al desarrollo web. Destaca por su pequeña curva de aprendizaje, las continuas actualizaciones y mejoras, y sobre todo, por la gran comunidad de desarrolladores que se ha creado en torno a este lenguaje de programación orientado a objetos.

Creado el 03/08/2022

Paginando Colecciones con Laravel y optimizando consultas SQL

Estos días me he encontrado con un caso real, en el que hacía dos consultas a la base de datos cuando realmente sólo quería hacer una. A veces lo que uno quiere y lo que puede conseguir no son compatibles, pero en este caso si que ha sido posible. Planteo el problema. Imagina que tienes un...

Leer mas...
Creado el 02/08/2022

Refactoriza y simplica tus Controladores con Laravel

Los Controladores en Laravel, gestionan las peticiones HTTP y sirven para gestionar la relación entre el Modelo y la Vista. Todo lo demás que incluyamos en el Controlador, está de más. Por ejemplo, las llamadas a la base de datos no deberían estar aquí, sino en el Modelo o la...

Leer mas...
Creado el 28/07/2022

Gestionando cookies con Laravel Livewire

Enfrentándome a un caso real, he descubierto que no es posible actualizar cookies en tiempo real con Laravel Livewire, al menos, no de forma directa. Lo bueno es que hay una solución. El problema surge cuando utilizas Cookie:queue() y esperas recibir una respuesta del proceso. Por...

Leer mas...
Creado el 21/07/2022
y Actualizado el 30/07/2022

Laravel Pint, el corrector de estilo para PHP

El equipo de desarrollo de Laravel, con Nuno Maduro a la cabeza, ha lanzado Laravel Pint. Un corrector de estilo para PHP basado en PHP-CS-Fixer. PHP-CS-Fixer es un corrector de estilo para PHP que sigue los estandars definidos en PSR1, PSR2,... estos estándars puedes encontrarlos en...

Leer mas...

Cinco claves para ser mejor programador. Principios SOLID

Una de las principales herramientas para hacer código de mayor calidad, más fácil de mantener, y sobre todo, que te permita crecer como programador, es la de implementar en nuestro código los principios SOLID: S. Single responsibility principle: Principio de responsabilidad única. O....

Leer mas...
Creado el 11/06/2022
y Actualizado el 03/07/2022

Novedades de PHP 8.1

Soy consciente de que llego un poco tarde, sobre todo porque en pocos meses sale la versión 8.2, pero más vale tarde que nunca. 1) Lo primero de todo, se han producido mejoras en opchache que han generado una ligera mejora en el rendimiento, respecto a la versión de PHP 7.4. 2) Una de las...

Leer mas...
Creado el 22/05/2022
y Actualizado el 03/07/2022

Programando con Python, Java y Angular.

Toda mi carrera como programador, la he basado en el desarrollo con PHP, centrándome en los últimos años en el desarrollo con Laravel. En este artículo voy a hablar de como ha sido la experiencia de salirse de la zona de confort y enfrentarse a nuevos retos, con nuevos lenguajes de...

Leer mas...
Creado el 15/03/2022
y Actualizado el 05/07/2022

Novedades en Laravel 9

Laravel es probablemente el Framework PHP más utilizado del momento, y cada vez que sale una nueva versión, revoluciona un poco a la comunidad de desarrolladores, y no es para menos, ya que las decisiones que se tomen en torno a su desarrollo, va a afectar directamente a todos los que...

Leer mas...
Creado el 17/05/2021

Verificar resultados con Laravel Dusk y el navegador

Laravel dusk nos ofrece la opción de verificar si los cambios se han realizado en la base de datos después de realizar el test. El primer paso, sería realizar el test y con ello, los cambios en la base de datos, y puesteriormente, comprobar que los nuevos resultados (o la ausencia de ellos), se...

Leer mas...
Creado el 13/05/2021

Lenguajes de programación de bajo nivel VS alto nivel

Los lenguajes de programación pueden clasificarse en función de si son lenguajes de programación de bajo nivel o de alto nivel. Aunque también se puede establecer una opción intermedia, definiendo a los lenguajes de medio nivel, aunque no es algo sobre lo que recaiga demasiado consenso, por lo...

Leer mas...
Creado el 09/05/2021
y Actualizado el 12/05/2021

Principales errores con Laravel Dusk

Este artículo, es al final un pequeño recordatorio para cuando me pongo a hacer tests con Laravel Dusk y empiezan a surgir los errores al hacer las pruebas. He intentado recopilar los principales errores que me he encontrado, y como los he terminado por solucionar. Empecemos por los errores...

Leer mas...
Creado el 02/05/2021

Package de selects dependientes multinivel para Laravel

Estoy trabajando en un nuevo proyecto y necesitaba un sistema de selects dependientes y con niveles de dependencia infinitos. Revisando packages para Laravel ya desarrollados me he encontrado con herramientas parecidas a https://select2.org/, que son geniales, pero me...

Leer mas...
Creado el 17/04/2021

Package para Laravel, para la gestión de Tablas de Datos

Hace algún tiempo, me plantee el reto de desarrollar un sistema de administración igual que Laravel Nova, pero sin usar Vuejs, una autentica locura de la que aprendí muchísimo. Esta idea loca, se debía a dos situaciones diferentes: por un lado, buscaba mejorar mis habilidades...

Leer mas...
Creado el 11/04/2021
y Actualizado el 31/07/2022

Refactorizando condicionales con PHP

En este artículo, se van a ver diversas técnicas de reducción de condicionales y simplificación de código, para versiones de php8. Este artículo es continuación del ya publicado Simplificando condicionales con PHP (parte I). Aquí veremos otras técnicas de simplificación de condicionales,...

Leer mas...
Creado el 24/03/2021
y Actualizado el 31/07/2022

Simplificando condicionales con PHP

En este artículo, se van a ver diversas técnicas de reducción de condicionales y simplificación de código, para versiones de php7. Es fácil dejarse llevar por un grupo de condicionales anidados y complicar el código muy facilmente, convirtiéndolo en algo complejo y dificil de seguir. La...

Leer mas...
Creado el 08/11/2020

Usando funcionalidad Pages de Laravel Dusk

Últimamente estoy haciendo muchos tests con Laravel Dusk, y he encontrado en la opción de generar Pages una forma de simplificarlos, y además, de una forma muy considerable. La idea es no repetir código y crear métodos personalizados. En mi caso sigo una...

Leer mas...
Creado el 25/10/2020

Trucos, consejos y sitaciones extrañas con Laravel Dusk

Llevo varios días liado con las pruebas de una plantilla para panel de administración realizada con Laravel, Livewire y AlpineJS, y la verdad es que Laravel Dusk se ha convertido en la base de las pruebas, junto con algunos test unitarios y...

Leer mas...
Creado el 03/02/2020

Macros personalizados para Laravel Dusk

A día de hoy, es imposible realizar un desarrollo (en cualquier lenguaje de programación), sin realizar pruebas. En Laravel disponemos de varias herramientas para realizar nuestras pruebas: Http tests (basados en PhpUnit). Browser tests (basados en Selenium/WebDriver protocol). En este...

Leer mas...
Creado el 20/01/2020

Crear un package para Laravel

Una buena forma de ordenar y reutilizar nuestro código de Laravel, es mediante el uso de packages. En este artículo, vamos a centrarnos en la creación y desarrollo de packages propios, pero si estás interesado en packages de terceros, aquí tienes una lista con los imprescindibles (por lo menos...

Leer mas...
Creado el 15/01/2020
y Actualizado el 08/07/2020

Packages imprescindibles para Laravel

Los packages para Laravel son sin lugar a dudas, un forma rápida de solucionar un problema de programación que ya ha sido pensado, planteado y solucionado por otro programador, y que en la mayoría de los casos, cuenta con el respaldo de la comunidad de Laravel. La idea de esta entrada del blog,...

Leer mas...
Creado el 03/01/2020

Patrones de diseño y uso de Pipelines con Laravel

Las Pipelines de Laravel, nos van a permitir enviar un objeto a través de una serie de clases de forma sencilla y ordenada, simplificando considerablemente el código. Realmente, es un patrón de diseño utilizado por Laravel de forma interna, pero que no vas a encontrar en su documentación, y...

Leer mas...
Creado el 03/12/2019

Actualizando a php 7.4 desde Mac

Ha salido la nueva versión de php: la versión 7.4 con grandes novedades. Destacando las arrow functions que llevaban siendo (desde hace tiempo), una reivindicación por parte de la comunidad php: Podrás encontrar más informacion sobre las novedades, aquí: php.net En cualquier caso, la idea...

Leer mas...
Creado el 15/11/2019

Configurar helpers en Laravel

En ocasiones, podemos necesitar acceder a funciones (helpers), desde cualquier parte de nuestro código. Laravel no dispone de esta funcionalidad por defecto, pero existen varias formas de configurar nuestra aplicación, para solucionar esto. Antes de empezar con las diferentes opciones que...

Leer mas...
Creado el 07/11/2019

Migrando el blog a Jigsaw

En 2015, empecé mi primer blog sobre programación. Fue en otro dominio, y con un CMS, que en aquel momento, me parecía una buena opción: AnchorCMS. No tardé mucho en cansarme de sus limitaciones, y empecé a modificarlo, y modificarlo, y terminó siendo algo totalmente distinto, y durante...

Leer mas...