Guía completa de PHP: tutoriales, patrones, extensiones y más

php 28/09/2026

Configuración de encabezados http para mejorar la seguridad en php

Los encabezados HTTP de seguridad son una de las medidas más efectivas y de menor costo para endurecer una aplicación web. Cuando se configuran ...

php 27/09/2026

Guía completa de rector php: instalación, configuración y refactorización automática de código

Rector es una herramienta de código abierto que permite actualizar y refactorizar automáticamente código PHP. Analiza el código mediante un Árbol...

php 04/09/2026

Cómo crear un servidor mcp con php de forma sencilla

MCP es un estándar abierto que permite a los modelos de IA, como Claude, Cursor, etc., conectarse de forma segura a herramientas, datos y recursos ...

php 13/08/2026

Cómo crear una búsqueda semántica con php, gemini embeddings y mariadb vector

Cuando un usuario busca en una tienda online “ropa para la nieve” o “chaqueta para no pasar frío” se pueden obtener malos resultados o ...

php 21/07/2026

Extensión ldap de php: guía completa

La extensión LDAP de PHP es una de las herramientas más potentes para interactuar con servicios de directorio en aplicaciones web. Permite conectar ...

php 18/07/2026

Numphp: la biblioteca matemática para cómputo científico en php

NumPHP es una biblioteca de PHP diseñada para realizar operaciones matemáticas avanzadas, especialmente con vectores, matrices y álgebra lineal. ...

php 16/07/2026

Guía práctica de autophp: automatiza tareas complejas con inteligencia artificial

El ecosistema de la Inteligencia Artificial ha estado históricamente dominado por lenguajes como Python. Sin embargo, en PHP existe una herramienta ...

php 12/07/2026

Expresiones regulares en php: guía completa y práctica

Las expresiones regulares, regex o regexp, son una herramienta poderosa para trabajar con texto en PHP. Permiten buscar, validar, extraer y reemplazar...

php 07/07/2026

Ejemplo del patrón memento en php

El patrón Memento es un patrón de comportamiento que permite capturar y restaurar el estado interno de un objeto sin violar su encapsulación. ...

php 06/07/2026

Extensión zlib en php: compresión de datos eficiente

La extensión Zlib es una de las más útiles y antiguas de PHP, proporcionando soporte para la compresión y descompresión de datos utilizando el ...

php 04/07/2026

Patrón template method en php: qué es y cómo implementarlo

El patrón Template Method es un patrón de diseño de comportamiento que permite definir el orden de ejecución de un algoritmo en una clase base, ...

php 30/06/2026

Apache kafka con php: ejemplo práctico paso a paso

En este post se muestra un ejemplo práctico de Apache Kafka con PHP usando la extensión más recomendada: "php-rdkafka" Instalación Instalar ...

php 30/06/2026

Php debug bar: la barra de depuración para desarrolladores php

PHP Debug Bar es una biblioteca PHP que renderiza una barra con múltiples pestañas de información. Fue creada para ser genérica y compatible con ...

php 29/06/2026

Xdebug: la herramienta esencial para depurar y optimizar código php

Xdebug es la extensión php más poderosa y utilizada para desarrollo profesional. Transforma la experiencia de desarrollo al permitir depuración ...

php 26/06/2026

Tipos de autenticación en php: métodos y diferencias

Guía práctica de los principales tipos de autenticación que se usan en PHP: Autenticación HTTP Básica (Basic Auth) El navegador muestra un ...

php 26/06/2026

Crm en php: ejemplos y opciones para empresas

Los CRM desarrollados en PHP siguen siendo una excelente opción. PHP es un lenguaje maduro, rápido de desplegar, con gran soporte de hosting ...

php 26/06/2026

Erp en php: ejemplos y opciones para empresas

Las empresas buscan soluciones flexibles, económicas y personalizables, los ERP desarrollados en PHP siguen siendo una excelente opción. PHP, ...

php 17/06/2026

Guía completa de firebird con php

Firebird es una excelente opción para desarrollar aplicaciones con PHP, especialmente cuando se busca alto rendimiento, bajo consumo de recursos y ...

php 01/06/2026

Diferencias entre cookies y sesiones en php

En el desarrollo de aplicaciones web en PHP, dos de los conceptos más importantes y que más confunden a los programadores son las cookies y las ...

php 29/05/2026

Php vanilla: dominando el php puro

PHP Vanilla se refiere a desarrollar aplicaciones web utilizando únicamente las características nativas de PHP, sin depender de ningún framework. ...

php 29/05/2026

Yet another framework: el framework php más rápido

Yet Another Framework,o Yaf es un framework MVC ligero que se instala como extensión PECL. Proporciona las funcionalidades básicas de un framework ...

php 20/05/2026

Neuron ai: qué es y cómo funciona

Neuron AI es un framework open source para PHP diseñado específicamente para crear aplicaciones agenticas (AI Agents) de forma profesional y en ...

php 18/05/2026

Funciones principales de sesiones en php

Las sesiones en PHP permiten almacenar información del usuario entre diferentes peticiones HTTP. El protocolo HTTP no tiene memoria, es stateless, ...

php 14/05/2026

Genéricos en php: qué son y cómo utilizarlos

Los genéricos en PHP son una funcionalidad que permite crear código reutilizable y type-safe,seguro a nivel de tipos, para clases, interfaces, ...

php 14/05/2026

La composición en programación orientada a objetos en php

La composición es uno de los conceptos más importantes y poderosos en la Programación Orientada a Objetos. Se considera una de las mejores ...

php 13/05/2026

Patrón repository en php: qué es y cómo implementarlo

En este post se muestra un ejemplo del Patrón Repository en PHP.

php 13/05/2026

Interpolación de variables en php

La interpolación de variables es una de las características más cómodas y utilizadas de PHP. Permite insertar el valor de una variable ...

php 10/05/2026

Php 9: construyendo el futuro del desarrollo web

El ecosistema PHP se prepara para la llegada de PHP 9. Aunque todavía no tiene fecha oficial de lanzamiento, se espera después de PHP 8.5/8.6. PHP ...

php 10/05/2026

Phpspec: la herramienta de bdd para desarrolladores php

PHPSpec es un framework de especificación (spec) para PHP que promueve el BDD, Behavior Driven Development y se integra con el Spec Driven ...

php 08/05/2026

Llphant: el framework de php para desarrollar aplicaciones de ia generativa

LLPhant es un framework de PHP diseñado específicamente para facilitar la creación de aplicaciones basadas en inteligencia artificial generativa. ...

php 07/05/2026

Principio de segregación de interfaces en php

El Principio de Segregación de Interfaces, Interface Segregation Principle, o ISP, es uno de los cinco principios SOLID de la programación orientada...

php 26/04/2026

Como cargar diferentes fuentes de documentos para rag en llphant

En LLPhant se pueden cargar diferentes fuentes de información para alimentar a los agentes IA, especialmente con AutoPHP o herramientas ...

php 26/04/2026

Cómo funciona el recolector de basura en php: una mirada profunda al motor zend

El recolector de basura de PHP o Garbage Collector es uno de los mecanismos internos más importantes del motor Zend para gestionar la memoria de ...

php 17/04/2026

Generar embeddings con php: guía práctica

Un embedding es una técnica de Inteligencia Artificial que transforma datos complejos (texto, imágenes, audio) en listas de números (vectores) que ...

php 17/04/2026

¿Qué es splpriorityqueue en php?

SplPriorityQueue es una clase de la Standard PHP Library, SPL, que implementa una cola de prioridad, Priority Queue. Es una estructura de datos ...

php 17/04/2026

Algoritmo de dijkstra en php: cómo implementarlo

Después de hablar del algoritmo de Dijkstra toca implementarlo en PHP. En este ejemplo se va a usar una base de datos MySQL: Estructura de la Base...

php 26/03/2026

Extensión uri de php: cómo trabajar con urls

La extensión URI es una de las novedades más importantes de PHP 8.5. Es una extensión que no hace falta instalarla ni activarla en php.ini. Está ...

php 26/03/2026

Swoole en php: qué es y cómo funciona

Swoole es una extensión de PHP que convierte PHP en un framework asíncrono de alto rendimiento, es decir permite que PHP pueda manejar miles de ...

php 25/03/2026

Separación de responsabilidades en php

La separación de responsabilidades en PHP es uno de los principios más importantes para desarrollar aplicaciones web modernas, mantenibles y ...

php 24/03/2026

Redes neuronales en php con fann

FANN significa Fast Artificial Neural Network. Es una extensión de PHP que actúa como wrapper de la librería en C llamada FANN.Permite crear, ...

php 22/03/2026

Guzzle en php: tutorial para realizar peticiones http

Guzzle es una librería de PHP que funciona como cliente HTTP. Básicamente permite hacer peticiones a cualquier servidor web (GET, POST, PUT, DELETE,...

php 22/03/2026

Guzzle vs curl: comparación completa

cURL: Es la extensión nativa de PHP (extensión curl). Es una librería de bajo nivel, procedural, muy potente y ligera. Sirve para hacer peticiones ...

php 19/03/2026

¿Qué es una máquina de estados en php?

Una máquina de estados en PHP o State Machine es un patrón de diseño que modela el comportamiento de un objeto o sistema que puede estar en ...

php 08/03/2026

Contenedor de dependencias con php

Un contenedor de dependencias, o Dependency Injection Container, es una herramienta o clase especial que se encarga de: Crear (instanciar) los ...

php 05/03/2026

Vibe coding con php: programar con inteligencia artificial

Vibe coding con PHP, con Laravel se ha vuelto uno de los stacks más cómodos y potentes para hacervibe-coding. Por qué PHP (y especialmente ...

php 22/02/2026

Métodos quietly de eloquent: cómo utilizarlos

En Laravel, cada vez que se usa: save update delete En un modelo Eloquent, se disparan eventos como saving, updated, deleting, etc. Estos ...

php 18/02/2026

Apc user cache en php: cómo funciona y cómo utilizarlo

APC User Cache, o APCu, es una extensión de php que proporciona un caché en memoria muy rápido y ligero para almacenar datos de la aplicación. Es ...

php 16/02/2026

árbol de patricia en php: cómo implementarlo

En el post árbol de Patricia se hablo de esta estructura de datos y ahora quiero poner un ejemplo en php: class PatriciaNode { public ?string...

php 16/02/2026

árbol radix en php: cómo implementarlo

Despçues de ver lo que es un https://github.com/MarkBaker/Tries (Trie + RadixTrie), ...

php 13/02/2026

Crear un árbol de merkle con php: guía y ejemplo

Este es un ejemplo en php sobre el post árbol de Merkle, usando SHA-256, como es habitual en Bitcoin y muchas blockchains. Ejemplo básico en php....

php 09/02/2026

Patrón composite en php: qué es y cómo implementarlo

Después de explicar el Patrón Composite quiero poner un ejemplo en php.

php 02/02/2026

Nativephp: crear aplicaciones de escritorio con php

NativePHP es un framework moderno que permite a los desarrolladores PHP (especialmente los que usan Laravel) crear aplicaciones nativas para ...

php 10/01/2026

Neuron ai en php: cómo integrar ia en aplicaciones

Neuron AI es un framework open-source para PHP diseñado específicamente para crear y orquestar agentes de IA agentic (es decir, agentes autónomos ...

php 02/01/2026

Nuevas funciones de búsqueda de arrays en php

En PHP 8.4 se incorporarán cuatro nuevas funciones para arrays que son funciones auxiliares para comprobar la existencia de elementos en un array que...

php 04/12/2025

Referencias circulares en php: qué son y cómo evitarlas

Las referencias circulares en php ocurren cuando dos o más objetos se referencian mutuamente, creando un ciclo que impide que el recolector de basura...

php 01/12/2025

Operador pipe en php: cómo funciona y ejemplos

El operador "|>" en PHP, ha sido introducido en la versión 8.5 y permite encadenar funciones de manera secuencial de izquierda a derecha, pasando ...

php 12/11/2025

Frankenphp: qué es y cómo funciona

FrankenPHP es un servidor de aplicaciones PHP e integra directamente el intérprete oficial de PHP.. Su nombre hace referencia a "Frankenstein", ya ...

php 20/10/2025

Crear portal cautivo con php y radius

En este post se muestra un ejemplo de como crear un portal cautivo en PHP con RADIUS...

php 08/10/2025

Generar códigos qr con php: guía y ejemplos

Un código QR (siglas de Quick Response o respuesta rápida) es un tipo de código de barras bidimensional que almacena información que puede ser ...

php 02/10/2025

Visibilidad asimétrica en php: qué es y cómo funciona

La visibilidad asimétrica en php, introducida en php 8.4, es una nueva funcionalidad que permite definir diferentes niveles de visibilidad para los ...

php 02/10/2025

Lazy objects en php: qué son y cómo utilizarlos

Los objetos lazy en php se refieren a una técnica de diseño donde la inicialización o carga de un objeto se retrasa hasta que realmente se ...

php 01/10/2025

Operador nullsafe en php: cómo funciona y ejemplos

El operador nullsafe en php (?->) se introdujo en la versión 8.0 y permite acceder a propiedades o métodos de un objeto de manera segura, sin ...

php 01/10/2025

Crear constantes dinámicamente en php

En zb>PHP, las constantes son inmutables y no están diseñadas para ser completamente dinámicas, ya que no se pueden redefinir ni eliminar en tiempo...

php 28/09/2025

Domain-driven design en php: conceptos y aplicación

Domain-Driven Design es una metodología de desarrollo de software. Se centra en construir software alineado con el el dominio del negocio...

php 23/09/2025

Instalador de extensiones de php

Hay una herramienta en php que se usa para instalar extensiones de php. este Instalador de extensiones de php se le conoce como PIE, PHP Installer ...

php 22/09/2025

Clickjacking en php: qué es y cómo prevenirlo

Clickjacking es una técnica maliciosa utilizada por atacantes para engañar a los usuarios de una página web, haciéndoles clic en algo diferente a ...

php 20/09/2025

Sodium en php: cifrado y funciones de seguridad

La extensión Sodium de php proporciona una interfaz para utilizar la biblioteca criptográfica libsodium, que es una biblioteca moderna y segura para...

php 20/09/2025

Redes neuronales en machine learning con php

Las redes neuronales son un tipo de algoritmo de machine learning inspirado en el funcionamiento del cerebro humano. Se utilizan para resolver ...

php 17/09/2025

Cqrs en php: ejemplo práctico paso a paso

Hace un tiempo escribí sobre CQRS y revisando el post para ampliar el contenido. He visto que faltaba un ejemplo que voy a poner. A continuación, te...

php 05/09/2025

Búsqueda fuzzy en php: cómo implementarla

La búsqueda Fuzzy en php permite encontrar coincidencias en cadenas de texto incluso si hay errores tipográficos, variaciones o diferencias menores....

php 05/09/2025

Análisis heurístico en php: qué es y cómo aplicarlo

Con este post de análisis heurístico en php no quieor decir que se pueda hacer un antivirus potente ni nada parecido, pero si que se puede hacer un ...

php 03/08/2025

Streams en php: cómo trabajar con flujos de datos

Las funciones stream de php proporcionan una interfaz unificada para trabajar con diferentes tipos de recursos de entrada/salida, como archivos, ...

php 01/08/2025

Clustering en machine learning con php

En machine learning, elclustering es una técnica de aprendizaje no supervisado que consiste en agrupar un conjunto de datos en subgrupos o "clusters"...

php 01/08/2025

Detección de anomalías en machine learning con php

La detección de anomalías en machine learning es una técnica que identifica patrones o instancias inusuales en un conjunto de datos que no se ...

php 01/08/2025

Clasificación en machine learning con php

La clasificación de machine learning es un algoritmo supervisado que se utiliza tanto para clasificación como para regresión, aunque es más común...

php 01/08/2025

Regresión en machine learning con php

La regresión en machine learning es una técnica de aprendizaje supervisado utilizada para predecir valores numéricos continuos...

php 01/08/2025

Regresión lineal en machine learning con php

La regresión lineal es un algoritmo de machine learning utilizado para predecir una variable numérica continua (variable dependiente) a partir de ...

php 29/07/2025

Rubix ml: machine learning con php

Rubix ML es una biblioteca de aprendizaje automático (machine learning) de alto nivel y código abierto para el lenguaje de programación php. ...

php 27/07/2025

Machine learning con php: librerías y ejemplos

Machine learning o aprendizaje automático es una rama de la inteligencia artificial que permite a los sistemas aprender y mejorar a partir de datos ...

php 27/07/2025

Aprendizaje supervisado con php

El aprendizaje supervisado es una técnica de machine learning donde un modelo se entrena con un conjunto de datos etiquetados, es decir, datos que ...

php 27/07/2025

Aprendizaje no supervisado con php

El aprendizaje no supervisado es una técnica de machine learning donde el modelo se entrena con un conjunto de datos sin etiquetas, es decir, solo ...

php 27/07/2025

Aprendizaje por refuerzo con php

El aprendizaje por refuerzo es una técnica de machine learning donde un agente aprende a tomar decisiones óptimas interactuando con un entorno, ...

php 25/07/2025

Splobjectstorage en php: qué es y cómo utilizarlo

La clase SplObjectStorage en PHP es una estructura de datos que permite almacenar objetos como claves y asociarles valores arbitrarios, funcionando ...

php 25/07/2025

Fibers en php: qué son y cómo funcionan

Los fibers en php son una característica introducida en php 8.1 que permiten manejar corutinas, de manera ligera. Son una forma de implementar ...

php 24/07/2025

Reactphp: programación asíncrona en php

ReactPHP es una biblioteca de php para programación asíncrona y orientada a eventos, que permite construir aplicaciones escalables

php 24/07/2025

Weakmap en php: qué es y cómo utilizarlo

La clase WeakMap en php es una estructura de datos que permite almacenar pares clave-valor, donde las claves son objetos y los valores pueden ser de ...

php 18/07/2025

Sesiones en php: cómo gestionar el estado de sesión

Para saber estado de sesión en php hay que usar la función session_status que puede obtener los siguientes valores: PHP_SESSION_DISABLED: indica ...

php 24/06/2025

Acoplamiento de código en php: tipos y cómo reducirlo

El acoplamiento de código se refiere al grado de dependencia entre diferentes módulos, componentes o clases en un sistema de software. Un alto ...

php 13/06/2025

Xampp, lamp, wamp, mamp y uwamp: diferencias y cuál elegir

Si estás empezando en el desarrollo web o necesitas un entorno local para probar tus proyectos, seguro has escuchado sobre XAMPP, LAMP, WAMP, MAMP o ...

php 11/06/2025

Patrón builder en php: qué es y cómo implementarlo

El patrón Builder en php es un patrón de diseño creacional que se utiliza para construir objetos complejos paso a paso. En lugar de crear un objeto...

php 11/06/2025

Rabbitmq con php: cómo integrarlo y procesar mensajes

RabbitMQ es un sistema de mensajería de código abierto que actúa como un intermediario para el intercambio de mensajes entre aplicaciones o ...

php 07/06/2025

Qa en php: pruebas y control de calidad del código

QA (Quality Assurance o Aseguramiento de la Calidad) se refiere a las prácticas y herramientas utilizadas para garantizar que el código sea de alta ...

php 05/06/2025

Phpdocumentor: cómo generar documentación para php

phpDocumentor es una herramienta de código abierto que genera automáticamente documentación para proyectos escritos en php. Extrae información de ...

php 05/06/2025

Phpdoc: cómo documentar código php correctamente

PHPDoc es un estándar de documentación para php que permite agregar comentarios estructurados en el código fuente para describir clases, métodos, ...

php 30/05/2025

Multihilo en php: opciones y cómo trabajar con concurrencia

La programación multihilo en php se logra principalmente a través de la extensión pthreads (POSIX Threads), que permite crear y gestionar ...

php 28/05/2025

Como comprimir fichero a tar gz con php

En el post de comprimir a zip desde php explicaba como comprimir varios ficheros a un fichero zip usando php. Ahora quiero explicar como como ...

php 27/05/2025

Jwt con php: cómo implementarlo para apis

JWT (JSON Web Token) es un estándar abierto (RFC 7519) para crear tokens de acceso que permiten la autenticación y autorización seguras entre dos partes, como un cliente y un servidor. Es ampliamente

php 26/05/2025

Como saber si php se está ejecutando desde consola o desde navegador

En php es posible determinar si un script está siendo ejecutado desde la línea de comandos (CLI), o consola, o desde un navegador. Hay varias formas...

php 20/05/2025

Procesar yaml en php: cómo leer y generar archivos

La extensión yaml de php (php_yaml), permite procesar yaml en php. YAML es el acrónimo de YAML Ain’t Markup Language, es un formato de ...

php 09/04/2025

Jenkins con php: cómo automatizar builds y despliegues

Siempre pensé que Jenkins solo se podía usar con Java pero mirando por internet he visto que también se puede usar con php. Usar Jenkins con php ...

php 03/04/2025

Configuración personalizada en php

Muchas veces cuando contratamos un alojamiento de php compartida viene con una configuración que no se puede cambiar, ya que el fichero php.ini es ...

php 12/03/2025

Php-fpm: qué es y cómo funciona

PHP-FPM, FastCGI Process Manager, es una implementación avanzada de FastCGI para manejar aplicaciones php de manera más eficiente y escalable. En ...

php 07/03/2025

Plataformas de experiencia digital (dxp) en php

Una plataforma de experiencia digital (DXP) es un software empresarial diseñado para satisfacer las necesidades de las compañías durante su proceso...

php 20/12/2024

Como establecer zona horaria con php

Hay dos maneras de como establecer la zona horaria en un proyecto php y es bastante sencillo. En este post os explico como establecer zona horaria con...

php 07/12/2024

Iconv en php: cómo trabajar con diferentes codificaciones

La extensión iconv en PHP permite la conversión de cadenas entre diferentes conjuntos de caracteres. Esto es útil cuando trabajas con textos que ...

php 30/11/2024

Funciones de ejecución de programas en php

Hay varias funciones de ejecución de programas en php que sirven para ejecutar programas, comandos, scripts dentro del sistema operativo del servidor...

php 26/10/2024

Metaprogramación en php: qué es y ejemplos

La metaprogramación en PHP permite escribir programas que, de alguna forma, pueden modificar su comportamiento durante la ejecución y esto se logra ...

php 06/10/2024

Frameworks php: cuáles son y cómo elegir uno

Un framework en php es un marco de trabajo que proporciona una arquitectura para construir aplicaciones web en php. Los frameworks están pensados ...

php 06/10/2024

Orm en php: qué es y cómo funciona

Los frameworks en php usan orm, siglas de Object Relational Mapping, a la hora de operar con bases de datos, aunque también se pueden usar de manera ...

php 04/10/2024

¿Qué bases de datos soporta php?

Llevo ya varios años trabajando con php y con diferentes bases de datos, sobre todo MySQL, PostgreSQL y Oracle.

php 18/09/2024

Operador de control de errores en php

Hace un tiempo hablé sobre la gestión de errores en php. Pero existe una manera de gestionar errores con el operador de control de errores en php ...

php 20/08/2024

Patrón front controller en php

El patrón Front Controller en php es un patrón de diseño bastante utilizado en aplicaciones web y consiste en definir un único punto de acceso ...

php 02/01/2024

Redireccionar a otra página con php

Redireccionar a otra página con php es bastante sencillo. Con usar la función header() junto con la directiva Location. Aquí tienes un ejemplo ...

php 24/12/2023

Operador de fusión de null en php

Dentro de php hay varios operadores, donde ya hemos visto unos cuantos en este blog. El operador de fusión de null en php se ha añadido para ...

php 02/11/2023

Sockets en php: cómo crear conexiones y utilizarlos

Antes de explicar como usar sockets con php voy a explicar que es un socket. Un socket es un método para la comunicación entre un programa del ...

php 15/10/2023

Establecer la prioridad de un email con php

La forma más sencilla de mandar un email con php es usar la función mail donde se establacen, destinatarios, mensaje, asunto y cabeceras y ...

php 07/10/2023

Archivos zip en php: cómo crear y manejar zip

En muchos de lo proyectos en los que he tomado parte se han tenido que crear excels, copias de seguridad, etc... que ocupaban cierto espacio en disco ...

php 08/09/2023

Como saber cuantos días tiene un mes en php

Hay dos maneras de como saber cuantos días tiene un mes en php: Mes actual: Con la función date, y sería date('t') Cualquier mes de cualquier ...

php 23/08/2023

Funciones callback en php: cómo funcionan y ejemplos

Las funciones callback en php se ejecutan de manera similar a JavaScript. Pero en php las funciones callback también pueden ser métodos de un ...

php 01/04/2023

Splfixedarray en php: qué es y cómo utilizarlo

La clase SplFixedArray en php proporciona la funcionalidad principal de un array. La diferencia entre SplFixedArray y un array normal de php es que la...

php 23/03/2023

Parámetros sensibles en php: cómo proteger datos

Una de las novedades de la version 8.2 de php son los parámetros sensibles. Esto quiere decir que se pueden definir los parámetros que contienen ...

php 27/01/2023

Bloquear archivos en php: métodos y ejemplos

Un problema bastante importante cuando se trabaja con ficheros es cuando varios procesos intentan escribir en un mismo archivo al mismo tiempo. La ...

php 03/12/2022

Cláusulas de guardia en php: qué son y cómo utilizarlas

Cuando tenemos que implementar un código que va a tener varias anidaciones va a perder la legibiliad, ya que el código se va a ir demasiado a la ...

php 20/11/2022

Patrón facade en php: qué es y cómo implementarlo

El patrón facade es un patrón de diseño que proporciona una interfaz simplificada a un sistema complejo de clases y bibliotecas. Es decir a que ...

php 16/10/2022

Crear y ejecutar ficheros phar en php

Hace un tiempo hablé sobre los ficheros phar en php y hoy quiero hablaros de crear y ejecutar ficheros phar en php. Antes de meterse con el código ...

php 08/10/2022

Clases anónimas en php: qué son y cómo utilizarlas

Las clases anónimas en php están disponibles desde la versión 7 de php y son clases que no disponen de un nombre, sino que forman parte de una ...

php 13/09/2022

Propiedades readonly en php: cómo funcionan y ejemplos

Una de las múltiples novedades que trae la versión 8.1 de php son las propiedades readonly. Que solo pueden ser inicializadas una vez desde el ...

php 08/09/2022

Clean code en php: principios y buenas prácticas

El clean code son una serie de principios que ayudan a desarrollar código que cualquier desarrollador profesional pueda entenderlo de inmediato y que...

php 06/09/2022

Full_path en $_files: cómo obtener la ruta del archivo

Una de las novedades de la versión 8.1 de php es que se ha añadido el índice fullpath en $_FILES cuando se va a subir un fichero, o varios, al ...

php 05/09/2022

Never en php: cómo funciona el tipo de retorno

En la nueva versión 8.1 de php han añadido el return type never que puede utilizar para indicar que una función cortará la ejecución del ...

php 04/09/2022

Comprobar si un array es una lista en php

Para comprobar si un array es una lista en php hay que usar la nueva función array_is_list de php. Dicha función comprueba si las claves de un array...

php 04/09/2022

Enums en php: cómo funcionan y ejemplos

Una de las novedades de versión 8.1 de php es que se añade el tipo enums (enumerados) que son un tipo de datos definido por el usuario y que ...

php 01/09/2022

Extensiones de php: qué son y cómo instalarlas

Las extensiones de php son módulos que proporcionan alguna funcionalidad concreta al motor de php. La mayoría de extensiones están escritas en C, y...

php 08/04/2022

Packagist: qué es y cómo buscar paquetes php

¿Qué es packagist? Packagist es el repositorio de composer que es donde están todos los paquetes de composer s y le permite saber de dónde obtener...

php 15/03/2022

Seguridad en las sesiones de php

Algunos consejos sobre la seguridad de sesiones en php y creo que son importantes: session.cookie_lifetime Es mejor poner el valor a 0 y le ...

php 25/02/2022

Pequeños trucos para mejorar el rendimiento en php

En este post os quiero comentar una serie de pequeños trucos para mejorar el rendimiento en php que aunque parezcan obvios pueden suponer una buena ...

php 03/01/2022

Detectar orientación de una imagen en php

En muchos proyectos es necesario subir imágenes, ya sea imágenes de productos para una tienda, la foto de perfil de un usuario, permitir subir fotos...

php 03/01/2022

Obtener datos exif de una foto con php

EXIF son las abreviaturas de Exchangeable image file format. Es un estándar creado para almacenar metadatos de las fotos hechas con cámaras ...

php 23/12/2021

Como recuperar el usuario y la contraseña pasados con un .htaccess en php

Hace un tiempo expliqué como evitar acceso a ficheros o directorios desde apache y aunque lo explico en ese post querría indicar como como recuperar...

php 01/12/2021

Comprobar que un array es una lista en php

Para comprobar que un array es una lista en php existe la función array_is_list disponible versión 8.1 de php. Los arrays en php pueden contener ...

php 23/09/2021

Entorno de desarrollo php: cómo configurarlo

Normalmente cuando se desarrolla con php se necesita instalar el propio php, una base de datos, mysql que es la más común, aunque se suelen usar ...

php 07/09/2021

Obtener puesta y salida de sol en php

La verdad es que no sabía que se podía obtener puesta y salida de sol en php y son dos funciones bastante simples: date_sunrise: Devuelve la hora...

php 07/09/2021

Como recorrer rango de fechas en php

Hay veces que por necesidades del proyecto es necesario recorrer rango de fechas en php y en este post os voy a poner tres maneras, 2 de ellas usando ...

php 01/09/2021

Declare en php: cómo funciona y cuándo utilizarlo

Hay una estructura de control en php que es poco conocida que es la estructura de control declare que se usa para fijar directivas de ejecución para ...

php 31/08/2021

¿Cuál es la mejor manera de guardar las sesiones en php?

Hace un tiempo hablé de como guardar sesiones de php en redis y como guardar sesiones de php en servidores balanceados pero ¿cuál es la mejor ...

php 21/08/2021

Crear archivos ini en php: cómo hacerlo

Los ficheros ini en php son ficheros de configuración y para leerlos se usa la función parse_ini_file pero en php no hay una forma nativa de crear ...

php 20/08/2021

Distancia levenshtein en php: cómo calcularla

La distancia de Levenshtein es el número mínimo que necesitamos para convertir una palabra en otra, un ejemplo pelo y perro tienen una distancia de ...

php 19/08/2021

Convertir texto a mayúsculas o minúsculas en php

Se que este post os parecerá una chorrada pero revisando las funciones de multibyte he descubierto una nueva forma de convertir texto a mayúsculas o...

php 19/08/2021

Detectar codificación de texto en php

Para detectar codificación de texto en php hay que usar la función mb_detect_encoding y se le pasa la cadena como parámetro ...

php 19/08/2021

Detectar cuando una pagina se ha dejado de ejecutar en php

Supongamos que tenemos una página web y por un casual el usuario cierra la página ...

php 15/08/2021

Cómo leer un fichero en php: métodos y ejemplos

Hay varias maneras de como leer un fichero en php: fgets:El fichero al que se apunta debe ser v

php 14/08/2021

Recorrer directorios en php: métodos y ejemplos

Hay varias maneras de recorrer directorios en php: Tratando el directorio y ficheros directamente: $dir = opendir($path); while ($elemento ...

php 12/08/2021

Spl de php: biblioteca estándar y principales clases

La biblioteca SPL de php es un conjunto de interfaces y clases para php que dise

php 09/08/2021

Escribir logs en php usando monolog

Todo programador sabe que es bueno tener un log en todo proyecto para saber todo lo que pasa en cada proyecto y eso se hace usando logs. En este post ...

php 16/07/2021

Ley de demeter: qué es y cómo aplicarla al código

La Ley de Demeter, también se conoce como Principio de menor conocimiento, es un principio de diseño que intenta limitar el acoplamiento entre ...

php 16/07/2021

Tell don’t ask: qué es este principio de diseño

El principio tell don't ask consiste en que cuando se realiza la instanciación de un objeto no se debería preguntar sobre las propiedades internas ...

php 10/07/2021

Jit en php 8: qué es y cómo mejora el rendimiento

Una de las novedades de php 8 es el compilador jit (Just in Time). El compilador jit permite compilar partes del código en tiempo de ejecución y ...

php 13/06/2021

Como enviar datos por post usando file_get_contents con php

Hace poco escribú un artículo sobre la diferentecia de usar file_get_contents y curl en php. Y comenté que con la función file_get_contents se ...

php 12/06/2021

Diferencia entre file_get_contents y curl en php

En muchas ocasiones, por necesidades del proyecto, se necesita obtener información de otra url. Hay dos maneras de hacerlo en php: Usando la ...

php 03/05/2021

Patrón strategy en php: qué es y cómo implementarlo

El patrón strategy es un patrón de diseño de comportamiento que convierte un grupo de comportamientos en objetos y los hace intercambiables dentro ...

php 03/05/2021

Obtener pais visitante por ip en php

Para saber desde que país y ciudad visitan nuesta página es usar el webservice http://www.geoplugin.net/json.gp y pasarle la ip del visitante como ...

php 28/03/2021

Como saber si una función está desactivada en php

Hace un tiempo hablé de como securizar php y una de las cosas que comentaba era desabilitar funciones indicando que funciones de php no se pueden ...

php 28/03/2021

Comprobar sintaxis de un fichero en php

Para comprobar sintaxis de un fichero en php...

php 17/03/2021

Variables escalares en php: tipos y ejemplos

Las variables escalares en php son aquellas que contienen un integer, float, string o boolean y los tipos array, object y resource no son escalares.

php 13/03/2021

Como obtener el número pi en php

Hace poco me enteré de como obtener el número pi en php y la verdad es que no creo que lo vaya a usar nunca, pero me ha parecido curioso y por eso ...

php 22/01/2021

Como crear scripts en composer y php

Hace un tiempo os hablé de composer. Dentro de composer se pueden añadir unos scripts que se pueden asociar a un determinado evento para que sean ...

php 16/01/2021

Cannot modify header information - headers already sent

Llevo ya unos años programando en php y la verdad es que me he encontrado varias veces con el error Cannot modify header information - headers ...

php 09/01/2021

Match en php 8: cómo funciona y ejemplos

Hace un tiempo os hablé de las nuevas funciones en php 8 quería explicar la expresión match en php 8 con las que se puede sustituir el switch case. Características de la expresión match en ...

php 05/01/2021

Bdd con behat en php: cómo crear pruebas

Hace bastante tiempo os hablé de las pruebas TDD y de las pruebas unitarias. Hoy os quiero hablar de las pruebas bdd, behavior-driven development, en php usando behat.¿Qué son las pruebas ...

php 30/12/2020

Deployer en php: cómo crear un sistema de despliegue

Hace unos días hablé de lasconexiones ssh en php y me acordé que unos meses hablé de la herramienta deployer, una herramienta de integración contínua que está desarrollada en php para ...

php 30/12/2020

Conexiones ssh en php: cómo realizarlas con phpseclib

Igual que se pueden realizar conexiones ftp en php también se pueden realizar conexiones ssh. Para poder realizar conexiones ssh en php se puede usar la librería phpseclib de fuelphp. La verdad...

php 30/12/2020

Excepciones en php 8: cómo funcionan y ejemplos

Hace un tiempo hablé de las excepciones en php cuya estructura es: try { // Algo va mal } catch (MySpecialException $exception) { Log::error('Algo fue mal'); } Pero las ...

php 30/12/2020

Nuevas funciones de php 8: novedades y ejemplos

En este post os voy a hablar de las nuevas funciones en php 8 que la verdad son bastante útiles: str_contains: Antes de php8 había que usar las funciones strpos o strstr, las cuales, eran ...

php 30/12/2020

Mixed en php 8: qué es y cómo utilizarlo

Una de las novedades de php 8 son los mixed type es nuevo pseudo-tipo que se añade al sistema de tipos de php, el tipo mixed. Este pseudo-tipo te permite declarar un valor de cualquier tipo sin ...

php 30/12/2020

Constructor property promotion

Una novedad de php 8 es el Constructor Property Promotion. Cuando definiamos una clase en php primero se declaraban los atributos y luego se inicializaban en la clase constructor pero gracias al ...

php 30/12/2020

Union types en php 8: cómo funcionan y ejemplos

Una de las novedades de php 8 son los union types que permite especificar varios tipos para un argumento y el retorno de una función. Los union types son una colección de dos o más tipos ...

php 30/12/2020

Psalm para php: análisis estático y detección de errores

Hace unos días os hablé de phpStan. Y hoy os quiero hablar de phpSalm que es una herramienta bastante parecida.Psalm es una herramienta de análisis estático que intenta profundizar en su ...

php 30/12/2020

Adaptar el código php a los estándares psr con php-cs-fixer

Hace un tiempo hablé de los estándares de programación psr en php y en este post voy a hablar de como adaptar el código php a los standares psr con php-cs-fixer.Cuando el código de un ...

php 30/12/2020

Phpstan: análisis estático de código php y cómo usarlo

La herramienta phpStan es una herramienta de análisis estático permite analizar el código php y lo bueno que tienen estas herramientas es que no necesitan ejecutar el código para realizar sus...

php 30/12/2020

Variables de entorno en php: cómo crearlas y utilizarlas

Para trabajar con ficheros .env en php existe una librería que se encarga de gestionar dichos ficheros y guardar las variables de entorno en el array superglobal $_ENV. Dicha librería se llama ...

php 30/12/2020

Separador literal numérico en php

Una de las novedades de php 7.4 es el separador literal numérico. Que consiste en usar guiones bajos para separar valores numéricos y así facilitar la lectura de dicho número. El ojo humano ...

php 30/12/2020

Cuando usar self o this en php

Muchas veces he visto en internet que se preguntaba cuando usar Self o This en php y la respuesta es bastante sencilla: Self hace referencia a la clase actual y se usando cuando instancia ...

php 30/12/2020

Funciones arrow en php: cómo usarlas con ejemplos

Una de las novedades de versión 7.4 de php son las funciones arrow, también conocidas como short closures y son una forma más simplificada de escribir funciones anónimas, o closures. ...

php 30/12/2020

Type variance en php: covarianza y contravarianza

El type variance en php es una de las novedades de la nueva versión 7.4 de php y consiste en poder cambiar el tipo de dato que se pasa por parámetro en un método y que es devuelto de una hija ...

php 30/12/2020

Operador spread en php: cómo funciona y ejemplos

El operador spread en php o operador de esparcimiento es una novedad de php 7.4 hace lo mismo que array_merge para combinar los elementos de uno o varios arrays. Las ventajas de usar operador ...

php 30/12/2020

Comillas simples y comillas dobles en php

En php la diferencia de usar comillas simples y comillas dobles en una cadena es que cuando se usan comillas dobles puedes poner una variable dentro de la cadena y php la procesa mostrando su ...

php 30/12/2020

Determinar idioma del visitante en php

Hace unos días me sugirieron hacer una versión de mi página en Ingles. Después de estar pensando como hacerlo busqué la manera de saber el idioma de quien visita la web. Viene especificado ...

php 30/12/2020

Magic functions en php: qué son y cómo funcionan

Los métodos mágicos, o magic functions permiten realizar acciones en objetos cuando suceden determinados eventos que los activan.

php 30/12/2020

Tdd en php: cómo hacer desarrollo guiado por pruebas

TDD son las siglas de Test Driver Development.TDD y se basa en la idea de realizar pruebas unitarias para el codigo a implementar. Normalmente, primero se programa y luego se realizan las pruebas...

php 30/12/2020

Mvc en php: qué es el patrón modelo-vista-controlador

El primer proyecto que hice con esta arquitectura fue para prisacom (grupo prisa) en el año 2006. Y la verdad es lo he ido usando en los diferentes proyectos que he usado. Es bastante cómodo ya...

php 16/12/2020

Conexiones persistentes usando mysqli

Hace bastante tiempo hable de como realizar conexiones a mysql usando la librería mysqli de php.Hoy voy a hablaros de como crear conexiones persistentes usando mysqli. Pero ¿qué es una ...

php 02/12/2020

Imagen en base de datos con php

La mayoría de los sitios web tienen la opción de subir fotos por parte del usuario y hay dos opciones para hacerlo. 1ª Subir la imagen a un directorio, definido para guardar las imágenes, y ...

php 02/12/2020

Sesiones en servidores balanceados con php

Cuando se desarrolla una aplicación web, en este caso php, y se tiene dicha aplicación balanceada y hay sesiones hay que tener en cuenta la persistencia de dichas sesiones y para conseguirlo la...

php 02/12/2020

Obtener array con los elementos de una fecha

Hoy he descubierto la manera más fácil de como obtener array con con los ementos de una fecha sin tener que hacer explode. Es decir, que si yo tengo una fecha, puedo obtener el mes o el día o ...

php 02/12/2020

Easyadmin en symfony: tutorial para crear un panel de administración

Actualmente estoy usando el bundle easyadmin de symfony y la verdad es que es bastante sencillo, ya que con un fichero de configuración, en formato yaml, es suficiente. Aunque se pueden hacer ...

php 02/12/2020

Cómo usar deployer en php: guía paso a paso

Hace poco descubrí la herramienta de deployer para hacer despliegues de proyectos en servidores. Y la verdad es que es bastante sencillo de usar y de configurar. Aunque no creo que sea tan ...

php 02/12/2020

Ejecutar varias queries con mysqli

Para poder ejecutar varias queries con mysqli en php hay que usar la función multi_query ya sea de la manera $obj_mysqli->multi_query('query 1;query 2;'); o de la manera mysqli_multi_query( ...

php 02/12/2020

Post, get y request en php: diferencias y uso

Esta explicación es una perogrullada pero seguro que alguno sabrá agradecer las diferentes maneras que tiene PHP para recoger parámetros: -GET:Sirve para recoger parámetros pasados por la ...

php 02/12/2020

Evitar la inyección de sql en php

La inyección SQL consiste en insertar código SQL para alterar la base de datos de la página web. Se suele hacer en los formularios de login o en los formularios de alta de usuario o cuando se ...

php 02/12/2020

Mongodb con php: cómo conectar y trabajar con datos

MongoDB usa JSON y en PHP se gestiona todo con arrays. Y es el caso de las bases de datos noSQL. La verdad es que es bastante sencillo de aprender y usar: -Crear la base de datos: Se puede ...

php 02/12/2020

Aserciones en php: cómo funcionan y cuándo utilizarlas

Una manera que tiene php para depurar es el uso de las aserciones, assert(). El uso de las aserciones se debe usar mientras se depura el código y una vez depurado desactivarlas. EL uso de las ...

php 02/12/2020

Cómo obtener un fichero con curl en php

Hay veces que las necesidades del proyecto requieren guardar un fichero o una imagen desde remoto en nuestro servidor. Hay una manera de hacerlo usando cURL. //url donde se encuentra el archivo ...

php 02/12/2020

Máscaras de bits en php: cómo funcionan y ejemplos

En algunos proyectos ciertos campos pueden tener varios estados y en vez de crear varios campos de la tabla se crea un solo campo para poder guardar los diferentes estados que puede tener dicho ...

php 02/12/2020

Enviar mails con adjuntos con php

En los diversos proyectos que he participado he tenido que mandar emails para notificar al usuario cualquier asunto relacionado con la web, como el alta, envío de texto informativo. Pero nunca ...

php 02/12/2020

Como llamar a funciones y procedimientos almacenados de mysql en php

Ya expliqué como crear procedimientos y funciones almacenados en mysql y ahora quiero explicar como llamar a funciones y procedimientos almacenados de mysql en php. La verdad es que es bastante ...

php 02/12/2020

Convertir un número de una base numérica a otra en php

Llevo varios programando en PHP y hoy he descubierto una función que no sabía que existía. Sirve para convertir números de una base numérica a otra. Si no sabía que existía es que nunca me...

php 02/12/2020

Operador ternario en php: cómo funciona y ejemplos

No recuerdo la primera vez que usé el operador ternario, pero la verdad es que es más rápido de escribir y es más eficiente. La estructura es: variable = condición ? valor si cierto : valor...

php 02/12/2020

Guardar logs en php: métodos y buenas prácticas

Cuando en php se produce un error se escribe en el fichero especificado en el fichero de php.ini en en valor error_log, que se puede consultar con la función phpinfo, o también el fichero de ...

php 02/12/2020

Validar emails en php: métodos y ejemplos

Hasta ahora siempre había validado los emails emails en PHP usando expresiones regulares. Pero un compañero me comentó una manera bastante fácil y sencilla para validarlos. Y es usando la ...

php 02/12/2020

Validar fechas en php: métodos y ejemplos

En programación siempre ha sido bastante tedioso el tema de validar fechas pero hace un par de meses descubrí como validar fechas en PHP de una forma sencilla simplemente usando la función ...

php 02/12/2020

Como recorrer directorios con php

Hace poco descubrí una nueva manera de recorrer un directorio con PHP. Se trata de la función BLOB. No confundir con el tipo de dato blob de MYSQL. Con esta función no es necesario abrir el ...

php 02/12/2020

Cierre de bloques php: cómo utilizar las etiquetas correctamente

Hace un año o así participé en un proyecto done no se cerraba el php ('?>') y nunca supe el motivo. En la empresa actual donde trabajo un compañero me preguntó que diferencia había entre ...

php 02/12/2020

Pasar una función como parámetro de otra función en php

Hace un tiempo expliqué en un post como funcionan las funciones anónimas en php y ahora quiero comentaros como pasar una funcion como parámetro de otra función en php y la verdad es que es ...

php 02/12/2020

Paso de parámetros variable a una función en php

Hay ciertas funciones de PHP en las que puedes en el que el número de parámetros a esa función es variable, que peudes pasar uno, dos, hasta n parámetros como la función unset: //En este...

php 02/12/2020

Validaciones en php: cómo validar datos correctamente

Hasta ahora siempre había validado el tipo de dato en PHP por ejemplo usando la función is_numeric(). Pero he descubierto una manera bastante fácil de comprobar si una cadena es numérica, ...

php 02/12/2020

Trucos para optimizar el código en php

Llevo meses procastinando este post y creo que puede resultar bastante útil para los que desarrollamos en php: -Como ya escribí hace un tiempo cuando se crea una cadena en php es mejor usar ...

php 02/12/2020

Reducir tiempo de carga de una web en php

Una manera de reducir el tiempo de carga de una página web en php es comprimir la página con zlib. El navegador ya se encarga de descomprimirla, al menos la mayoría de ellos.La manera más ...

php 02/12/2020

Namespaces en php: qué son y cómo utilizarlos

Un namespace o espacio de nombre es un contenedor que nos permite agrupar el código para tenerlo más ordenado.

php 02/12/2020

Funciones anónimas en php: cómo funcionan y ejemplos

En php se permite el uso de funciones anónimas desde la versión 5.3.0. Una función anónima, o expresiones lambda, es una función que no tiene nombre, y por tanto no está enlazada a ningún ...

php 02/12/2020

Optimización de un proyecto de php

Ya he publicado varios post en este blog para la optimización de un proyecto web (php, javascript, MySQL y Apache) para que el proyecto tarde menos en cargarse. Con este post quiero hacer un ...

php 02/12/2020

Obtener pathinfo de un fichero con php

Muchas veces para comprobar la extensión de un formulario se hace un explode de dicho fichero y se comprueba la segunda posición del array que se ha formado al hacer explode. Pero hay una ...

php 02/12/2020

Dobles de prueba con phpunit: mocks, stubs y ejemplos

Antes de ponerse a ver que son los dobles de prueba en phpunit creo que hay que leer sobre las pruebas unitarias con phpunit y sobre las aserciones. Hay funcionalidades que no dependen de otros ...

php 02/12/2020

Patrón singleton en php: qué es y cómo implementarlo

Singleton es un patrón de diseño, que tiene como propósito asegurar que solo se pueda crear una instancia de la clase y proporcionar un punto global de acceso a ella, eso significa que no se ...

php 02/12/2020

Cachear contenido con memcached

Memcached se usa para guardar en caché de datos u objetos reduciendo elacceso a base de datos y así optimizar la herramienta web y no perder eficiencia ya que el acceso a la caché de memcached...

php 02/12/2020

Apc en php: qué es y cómo acelerar aplicaciones

Llevo una temporada oyendo hablar de los aceleradores de php y siempre había tenido la curiosidad de aprender cómo funcionan. Me he decantado por apc y la verdad es que es de muy fácil uso. ...

php 02/12/2020

Clonar objetos en php: cómo funciona clone y ejemplos

En php cuando copio una variable $a a una variable $b y cambio el contenido de la variable $a el contenido de la variable $b seguirá siendo el mismo que en un principio. Algo que todos los ...

php 02/12/2020

Variables variables en php: cómo funcionan y ejemplos

En php se usa el símbolo de dolar ($) para las variables, como bien es sabido. Pero con php se puede hacer referencia al contenido de una variable para usar otra variable que coincida con ese ...

php 02/12/2020

Búfer de salida en php: cómo funciona y cómo utilizarlo

En php se puede almacenar la salida de datos en el búfer, como en la mayoría de lenguajes de programación.Para activar dicho búfer hay que usar la función ob_ststart y mientras dicho ...

php 02/12/2020

Heredoc en php: cómo funciona y ejemplos prácticos

Siempre que quiero mostrar una cadena en php uso la función echo pero hace ya un tiempo que empiezo a ver una forma diferente de procesar cadenas y es usando heredoc que facilita demasiado las ...

php 02/12/2020

Autoload en php: cómo cargar clases automáticamente

Hace poco estaba haciendo memoria de mis primeros proyectos en php y me acuerdo que había un fichero global donde se hacían todos los requires de los ficheros necesaroios en el proyecto como ...

php 02/12/2020

Sphinx con php: cómo integrarlo para búsquedas

Hace ya tiempo que quería escribir un post sobre el indexador sphinx. Lo usamos nn la empresa donde estoy trabajando actualmentey la verdad es que no es muy difícil. Aunque, como todo, siempre ...

php 02/12/2020

Web scraping: qué es y cómo hacerlo con php

Hace un tiempo un compañero de trabajo me comentó que un amigo suyo tenía una web que recogía información de varias webs sobre resultados de fútbol. No le di importancia hasta wue en un ...

php 02/12/2020

Patrón registry en php: qué es y cómo implementarlo

Hace un tiempo escribí sobre el patrón de diseño singleton.Ahora voy a escribir sobre el patrón de diseño registry.La idea de este patrón es crear una clase donde se permita crear ...

php 02/12/2020

Patrón observer en php: qué es y cómo implementarlo

El patrón observer en php, permite definir una dependencia uno-a-muchos entre varios objetos...

php 02/12/2020

Patrón decorator en php: qué es y cómo implementarlo

El patrón de decorator nos permite añadir, quitar o modificar responsabilidades a un objeto dinámicamente, las funcionalidades se modifican/añadirán/retirarán durante la ejecución de la ...

php 02/12/2020

Patrón factory en php: qué es y cómo implementarlo

El patrón de diseño factory permite centralizar la creación de objetos que van a tener una funcionalidad similar en la aplicación para desacoplar la relación entre clases.En si lo que hace ...

php 02/12/2020

Patrones de diseño en php: guía de los principales patrones

Los patrones de diseño, nos brindan una solución a problemas comunes a la hora de diseñar software que ya están probados y documentados. A la hora de aplicar un patrón, debemos analizar la ...

php 02/12/2020

Xss en php: qué es y cómo prevenir cross-site scripting

El Cross Site Scripting, también conocido también como XSS, es un tipo de inseguridad informática web que permite la inserción de código malicioso en nuestra web en javascript, en VBScript o...

php 02/12/2020

Cross site request forgery en php

El Cross Site Request Forgery también llamado CSRF se basan en explotar la confianza que los sitios web tienen con sus usuarios...

php 02/12/2020

Vulnerabilidad object injection en php

En php una vulnerabilidad en la seguridad en las aplicaciones que usan programación orientada a objetos es el uso de object injection que consiste en mandar objetos serializados con código ...

php 02/12/2020

Operador combinado de comparación en php

Revisando las novedades de php 7 me he encontrado con este nuevo operador de comparación que también se denomina spaceship. Este operador se escribe ...

php 02/12/2020

Pdo en php: qué es y cómo utilizarlo con mysql

La extensión pdo es una capa de abastracción que permite conectar con diferentes bases de datos usando las mismas funciones facilitndo su portabilidad. Pero hay que tener cuidado ya que el sql ...

php 02/12/2020

Transacciones con pdo en php: cómo funcionan y ejemplos

Un problema que puede surgir al utilizar pdo es que no todas las bases de datos soportan transacciones, php se ejecuta en modo de auto-commit que ejecuta cada instrucción individual en forma ...

php 02/12/2020

Operador coalescencia nulo en php

Una de las novedades que trae php 7 es el operador coalescencia nulo.Este operador no es nuevo para algunos programadores ya que se usa en varios lenguajes de programación como C#, perl, entre ...

php 02/12/2020

Conexiones mysqli en php: cómo conectar con mysql

Hace poco migré mi página web a php7 y uno de los cambios fundamentales es que tuve que empezar a usar mysqlcli para conectarme a MySQL. Para conectarme a la base de datos usé la función ...

php 02/12/2020

Conexión ssl a mysql con php: cómo configurarla

Con la función mysqli_ssl_set se puede hacer una conexión segura SSL desde php a MySQL. La manera de establecer una conexión segura es bastante fácil. No hay que decir que hace falta un ...

php 02/12/2020

Elasticsearch con php: cómo conectarlo y utilizarlo

Hace poco me enteré de la existencia de elasticsearch y he estado indagando un poco para saber lo que era. Elasticsearch se puede definir como un producto para indexar y analizar en tiempo real ...

php 02/12/2020

Composer en php: qué es y cómo gestionar dependencias

Composer es un gestor de dependencias de proyectos de php ...

php 02/12/2020

Inyección de dependencias en php

Antes de explicar la inyección de dependencias hay que explicar el concepto de inverión de control que se puede definir como el proceso donde los objetos son suministrados a las clases que los ...

php 02/12/2020

Extract en php: cómo funciona y ejemplos

Hace poco me enteré de la función extract de php y lo que hace es convertir cada elemento de un array en variables y se cogen los índices de dicho array para nombrar las variables comprobando ...

php 02/12/2020

Listas de control de acceso o acl

Las listas de control de acceso o tambiémn conocido como ACL consiste en un sistema de usuarios y roles. Yo lo usé en una empresa en la que estuve y que se dedicaba al e-commerce. Implementé ...

php 02/12/2020

Sobrecarga de funciones en php

En la teoría de objetos existe el concepto de sobrecarga de funciones que consiste en poder definir varias funciones con el mismo nombre pero con diferente número y/o tipo de parámetros y ...

php 02/12/2020

Javabridge: conectando php y java de forma eficiente

Hasta hace poco no sabía que se podían crear objetos en php a partir de clases de java, que comunmente se llama php java bridge. ¿Y para qué ejecutar clases de java dentro de php? Pues hay ...

php 02/12/2020

Break en php: cómo funciona y cuándo utilizarlo

Sé que el uso de la instrucción break es conocida por todos y que sirve para finalizar la ejecución de las estructuras for, foreach, while, do-while o switch en ejecució pero lo que no sabía...

php 02/12/2020

Traits en php: qué son y cómo utilizarlos

Los traits son un mecanismo para reutilizar código en un lenguaje que no soporta la herencia múltiple. Los traits reducen ...

php 02/12/2020

Phar en php: qué es y cómo crear archivos ejecutables

Los ficheros phar en php son ficheros que almacenan una aplicación php para facilitar la distribución e instalación de dicha aplicación. Es el equivalente de los jar de java...

php 02/12/2020

Fork de procesos en php: cómo crear procesos hijos

El fork de procesos consiste en la creación de hilos de un proceso para distribuir la carga de ejecución en varias instancias de php. Cada instancia o hilo llevará a cabo una tarea.Como en ...

php 02/12/2020

Crear archivos temporales en php: métodos y ejemplos

Según las necesidades del proyecto hay en ocasiones que es necesario crear un archivo temporal y seguro que muchos de nosotros lo primero que hacemos es crear el fichero y luego borrarlo con el...

php 02/12/2020

Cadenas de caracteres multibyte en php

Normalmente cualquier idioma puede ser representado por una referencia uno a uno a un valor de 8 bits, pero también hay bastantes idiomas que requieren tantos caracteres que no pueden ser ...

php 02/12/2020

Vulnerabilidad función mail de php

La función mail de php es bastante vulnerable para ser hackeada, por eso se recomienda no usar dicha función. Cuando tenemos un formulario de contacto para que el usuario de nuestra web ...

php 02/12/2020

Seguridad en php: cómo securizar una aplicación web

Hay varias opciones, que son bastante sencillas que sirven para securizar php. Todas las opciones que pongo en este post hay que hacerlas en el fichero de configuración php.ini y hay que tener ...

php 02/12/2020

Validar el dominio de un email en php: cómo hacerlo

Hace un tiempo escribí una entrada de como validar emails en php de una forma sencilla y evitar el uso de expresiones regulare. En esta entrada voy a explicar si el email es válido, pero no en ...

php 02/12/2020

Lfi en php: qué es y cómo prevenir esta vulnerabilidad

Hace poco descubría la vulnerabilidad LFI (Local File Inclusion) o la inclusión local de ficheros que consiste en incluir ficheros locales, es decir, archivos que se encuentran en el mismo ...

php 02/12/2020

Public private y protected en php

Cuando declaramos una clase en php los atríbutos y métodos se pueden definir como públicos, protegidos o privados (public, protected o private) según la visibilidad o el acceso que van a ...

php 02/12/2020

Condiciones yoda en php: qué son y cuándo utilizarlas

Las condiciones Yoda es cuando el orden lógico de los operandos se cambia. Os pongo un ejemplo para que se entienda mejor: Normalmente cuando se hace un if se pone la condición de la siguiente...

php 02/12/2020

Nowdoc en php: qué es y cómo utilizarlo

Hace unos meses escribí sobre el tratamiento de cadenas con heredoc. Hoy he descubierto que existe el nowdoc. Nowdoc es a los strings con comillas simples lo mismo que heredoc es a las comillas ...

php 02/12/2020

Problemas con isset en php: causas y soluciones

En php hay una función que se llama isset que te dice si la variable que se le pasa por parámetro está definida. Si la variable está definida devuelve TRUE y si no está definida devuelve ...

php 02/12/2020

Memoria usada por php: cómo medir y controlar el consumo

Una manera bastante sencilla de saber cuanta memoria usa un proceso escrito en php es usando la función memory_get_usage que devuelve la cantidad de memoria, en bytes, que actualmente se asigna ...

php 02/12/2020

Firephp: depuración de aplicaciones php y alternativas

Cuando quiero hacer debug de mis desarrolls desarrollos en php, lo más rápido y sencillo es mostrar en la página, que estamos desarrollando, el contenido de las variables, para ver el valor ...

php 02/12/2020

Phpcpd: detectar código duplicado en proyectos php

Hoy me he enterado de la existencia del principio DRY y en php existe un software que sirve para detectar código duplicado: PHPCPD que significa PHP Copy/Paste Detector, es decir, detector de ...

php 02/12/2020

Stdclass en php: qué es y cómo utilizarlo

Hace años tuve que usar el objeto StdClass porque tenía que sacar un json de una determinada manera y me aconsejaron usarlo. ¿Pero qué es StdClass? Es una clase predefinida que no tiene ni ...

php 02/12/2020

Cómo mostrar ficheros ordenados en php

En el proyecto que en el que estoy trabajando actualmente hay una sección que recorre un directorio y lista su contenido ordenado alfabéticamente y lo que hacía era recorrer el directorio con ...

php 02/12/2020

Operador elvis en php: cómo funciona y ejemplos

Hoy me he enterado, por casualidad, de la existencia del operador Elvis en diversos lenguajes de programación, entre ellos php. La verdad es que es bastante sencillo, y sobre todo sirve para la ...

php 02/12/2020

Algoritmo de luhn en php: cómo implementarlo

He usado este algoritmo para la validación de tarjetas de crédito para los proyectos ecommerce que desarrollo. Pero hace unos años lo tuve que utilizar para validar el IMEI de las tarjetas SIM...

php 02/12/2020

Count recursivo en php: cómo contar elementos anidados

La función count de php de vuelve el número de elementos de un array. Y para saber cuantos elementos tiene un array multidimensional hay que usar el parámetro COUNT_RECURSIVE. Voy a poner un ...

php 02/12/2020

Sintaxis alternativa de las estructuras de control en php

Como en la mayoría de lenguajes de programación, php usa las llaves ({}) para abrir y cerrar funciones, bucles y estructuras de control. Pero hay una sintaxis alternativa de las estructuras de ...

php 02/12/2020

Rastrear código en php: técnicas de depuración y trazado

Una manera de trastrear el código en php es escirbiendo logs en todas las funciones de la aplicación para depurar el código y poder encontrar un error. Pero php tiene una función que si se le...

php 02/12/2020

Proyectos php multidioma: cómo gestionar varios idiomas

Una manera sencilla de tener un proyecto php en varios idiomas es usando las funciones gettext lo que se denomina i18n que significa internacionalización y localización, que es poder usar ...

php 02/12/2020

Obtener columna de un array multidimensional en php

Cuando tenemos un array multidimensional en php puede que solo nos interese una sola columna de dicho array. Para obtener la columna que nos interesa de un array multidimensional hay que usar la ...

php 02/12/2020

Programación funcional en php: conceptos y ejemplos

Llevo ya un tiempo oyendo hablar de la programación funcional y la verdad es que me parece interesante este paradigma de programación. Una ventaja de la programación funcional facilita la ...

php 02/12/2020

Desarrollar un buscador en php

En muchos proyectos se incorpora un buscador para facilitar el acceso a información de un medio online, un producto de una tienda, etc...El desarrollar un buscador en php no es complicado. Hay ...

php 02/12/2020

Obtener permisos de un fichero en php

Para obtener los permisos de un fichero en php hay que usar la función fileperms la cual nos devolverá todos los permisos del fichero, o directorio, pasados por parámetro. Funciona de la ...

php 02/12/2020

Tipado en php: tipos, declaraciones y buenas prácticas

Una de las grandes desventajas que tenía php era el tipado. Pero con la nueva versión 7 parece que que lo han arreglado usando declare(strict_types=1);. Con el siguiente ejemplo se va a ve ...

php 02/12/2020

Estandares de programación psr en php

Supongo que la mayoría de nosotros que ha participado en algún proyecto, en el que hayan participado varias personas, nos hemos quejado de que el código es un desastre y que hay código que no...

php 02/12/2020

Crear controladores en slim php: guía práctica

Hace poco tuve que hacer una pequeña aplicación con slim y tenía que seguir el patrón MVC. Estuve un buen rato investigando como hacer controladores con slim y todos los ejemplos que veía ...

php 02/12/2020

Excepciones en php: cómo funcionan y ejemplos

Llevo ya unos años trabajando como programador y recuerdo que en mi primer trabaj como programado fue programando en coldfusion y tuve que controlar una funcionalidad del código con una ...

php 02/12/2020

Gestión de errores en php: cómo manejar errores correctamente

Ayer escribí un post sobre la gestión de excepciones en php y hoy voy a comentar la gestión de errores en php. Aunque no todos los errores van a poder ser manejados con el post de hoy. Para ...

php 02/12/2020

Variables en php: tipos, alcance y uso

Sé que muchos pensaréis que este post es bastante obvio pero seguro que lo que no sabe mucha gente es las reglas para los nombres de variables en php. Lo primero es que php es sensible a las ...

php 02/12/2020

Servidor web integrado de php: cómo utilizarlo

A partir de la versión 5.4 de php se incluye un servidor web embebido y se ha desarrollado para programar en entornos locales y se desaconseja su uso en producción. Yo lo estoy usando en los ...

php 02/12/2020

Mapreduce en php: qué es y cómo implementarlo

Hace unos meses hice un curso por internet sobre la introducción a big data y la verdad es que me pareció interesante y escribí sobre hadoop y MapReduce y ahora he creado un ejemplo de ...

php 02/12/2020

Cómo crear una api rest en php: guía práctica

En este post voy a explicar, de forma muy sencilla, como crear una API en php. Pero ¿qué es una API? API es el acrónimo de Application Programming Interfaces (Interfaces de programación de ...

php 02/12/2020

Personalizar páginas de error con symfony

He estado aprendiendo Symfony por mi cuenta y ayer terminé de migrar otro blog que tengo, aunque no escribo hace tiempo, a Symfony 3 y he tenido que aprender a como personalizar páginas de ...

php 02/12/2020

Formulario no envía datos en zend: causas y soluciones

En mi actual proyecto estamos usando Zend framework y estaba haciendo un formulario que funcionaba perfectamente pero al agrupar los elementos de dicho formulario usando $this->addDisplayGroup ...

php 02/12/2020

Cómo ver la query sql en zend framework

Cuando se prepara una query en zend hay veces que es mejor saber que query va a lanzar a la base de datos y para poder ver query en zend hay que ejecutar $sql = $select->__toString(); y mostrar ...

php 02/12/2020

Como comprobar si una variable existe en php

Para comprobar si una variable existe en php se puede usar la función isset o la función get_defined_vars. La segunda opción es la mejor ya que cuando se tiene una variable con valor null ...

php 02/12/2020

Usar base de datos externa en wordpress

Hace poco he estado mirando como funcionaba wordpress y me surgió la duda si con wordpress se podía trabajar con otras bases de datos aparte de la bases de datos de wordpress. Para poder ...

php 02/12/2020

Autentificación por token con php

¿Qué es un token? Un token es una cadena alfanumérica con caracteres aparentemente aleatorios y se usa para identificar a un usuario y garantizar que pueda realizar determinadas operaciones....

php 02/12/2020

Usar namespaces en php paso a paso

Hace un tiempo escribí que son los namespaces en php y tuve que explicar en otros artículos como usar el standar psr-4 y en otro post que es composer. Así que es mejor explicar como usar ...

php 02/12/2020

Generadores en php: qué son y cómo utilizarlos

Siempre he usado el for y el foreach para recorrer arrays en php pero he descubierto los generadores en php que permiten usar foreach para iterar datos de tal modo que no se necesite cargar ...

php 02/12/2020

Modificar imágenes en php: técnicas y ejemplos

En muchos de los proyectos en los que he participado he tenido que modificar imágenes para adaptarlas al proyecto. Lo que más he tenido que hacer ha sido redimensionarlas y reducir su peso ya ...

php 02/12/2020

Encriptación sal y pimienta con php

Siempre que se realiza una página web que tiene gestión de usuarios hay que guardar el usuario y la contraseña en una base de datos para que pueda acceder a dicha página web y dicha ...

php 02/12/2020

Pilas y colas en php: cómo implementarlas

Las pilas y colas en php son una lista doblemente enlazada, en ambas direcciones. Son bastante sencillas de usar. Seguro que muchos programadores de php usan arrays que permiten "simular" una pila y u

php 02/12/2020

Como evitar que los correos lleguen a spam con php

Muchos sitios web hechos en php mandan correos, por ejemplo, un ecommerce con los detalles del pedido, un sitio web con usuarios con envío de contraseña, etc... Y hay que tener especial cuidado...

php 02/12/2020

Operador de ejecución en php: cómo funciona

En php hay varias maneras de ejecutar un comando, ya sea en linux o en windows como la función shell_exec o exec. Pero hay una manera bastante sencilla, aunque a mi no me gusta que es el usando ...

php 02/12/2020

Anotaciones en php: qué son y cómo utilizarlas

En muchos lenguajes de programación se usan las anotaciones para indicarle a la aplicación pare definir ciertos comportamientos o como se van a tartar los datos. Dichas anotaciones están ...

php 02/12/2020

Redis con php: cómo conectarlo y utilizarlo

Hace poco que empecé a usar redis y la verdad es que es bastante versatil. Redis es una base de datos clave-valor siendo no relacional. El uso de redis es parecido a memcached aunque permite ...

php 02/12/2020

Establecer redis como gestor de sesiones en php

Para establecer redis como gestor de sesiones en php solo hay que modificar el fichero de configuración php.ini (haciendo copia de seguridad antes) y cambiar los siguientes valores: - Buscar ...

php 02/12/2020

Pruebas unitarias con phpunit: guía y ejemplos

En este post voy a hablar de las pruebas unitarias con phpunit. Una prueba unitaria consiste en comprobar el correcto funcionamiento de una funcionalidad desarrollada. Por ejemplo si se ha ...

php 02/12/2020

Fixtures en phpunit: cómo preparar datos de prueba

Hace poco escribí un post sobre pruebas unitarias con PHPUnit y las pruebas dobles con PHPUnit. Ahora quiero hablar de las fixtures en phpunit. En todos los ejemplos que he visto de PHPUnit las...

php 02/12/2020

Variables superglobales en php

Las variables supergobales en php son variables pre establecidas en php y que siempre están disponibles en todos los ámbitos, es decir, desde cualquier función, clase o archivo PHP, sin ...

php 02/12/2020

Como obtener las características del navegador del usuario en php

Hasta ahora sabía obtener el navegador de usario en php y era usando $_SERVER['HTTP_USER_AGENT']. Pero hoy he descubierto como obtener las características del navegador del usuario en php. La ...

php 02/12/2020

Como generar ids únicos en php

Para generar ids únicos en php hay que usar la función uniqid();. Esta función genera un id único basado en la hora actual en microsegundos .Esta función no crea valores de tipo string ...

php 02/12/2020

Métodos encadenados en php: cómo funcionan y ejemplos

Los métodos encadenados en php consiste en llamar varios métodos de un objeto en una misma línea, basta con añadir al final de cada método: return $this; Con el siguiente ejemplo se ...

php 02/12/2020

Proteger el admin con contraseña en symfony

Hace poco escribí un tutorial sobre easyadmin de symfony y ahora os quiero escribir sobre como proteger el admin con contraseña en symfony sin tener que hacer un sistema complicado de ...