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.
Primero pasos con PEST el Framework de pruebas de PHP
En este artículo voy a poner dos ejemplos de uso de PEST con Laravel. Para ello, voy a utilizar un ejemplo para test Unitario y otro para Laravel Dusk (test de navegador). Lo primero va a ser instalarlo. Para ello: Y como estamos en Laravel, pues el plugin para utilizarlo: Y ahora hacemos...
Leer mas...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...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...
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...
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...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...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...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...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...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...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...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...
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...
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...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...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...
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...
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...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...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...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...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...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...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...