Blog de Gonzalo

Blog de programación de Gonzalo López




ENTORNO DE DESAROLLO

PHP17 visitas
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 ...

Leer más→

OBTENER PUESTA Y SALIDA DE SOL EN PHP

PHP88 visitas
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...

Leer más→

RECORRER RANGO DE FECHAS EN PHP

PHP51 visitas
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 ...

Leer más→

DECLARE EN PHP

PHP151 visitas
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 ...

Leer más→

¿CUÁL ES LA MEJOR MANERA DE GUARDAR LAS SESIONES EN PHP?

PHP125 visitas
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 ...

Leer más→

CREAR FICHERO INI EN PHP

PHP258 visitas
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 ...

Leer más→

DISTANCIA LEVENSTEIN EN PHP

PHP102 visitas
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 ...

Leer más→

CONVERTIR TEXTO A MAYÚSCULAS O MINÚSCULAS EN PHP

PHP82 visitas
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...

Leer más→

DETECTAR CODIFICACIÓN DE TEXTO EN PHP

PHP106 visitas
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 ...

Leer más→

DETECTAR CUANDO UNA PAGINA SE HA DEJADO DE EJECUTAR EN PHP

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

Leer más→

COMO LEER UN FICHERO EN PHP

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

Leer más→

RECORRER DIRECTORIOS EN PHP

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

Leer más→

BIBLIOTECA SPL DE PHP

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

Leer más→

ESCRIBIR LOGS EN PHP USANDO MONOLOG

PHP83 visitas
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 ...

Leer más→

COMO ACCEDER A LA MÁQUINA VIRTUAL DE DOCKER

PHP98 visitas
Hace tiempo hablé de como crear un entorno lamp en docker y hor quiero hablaros de como acceder a la máquina virtual de docker y es bastante ...

Leer más→

LEY DE DEMETER

PHP178 visitas
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 ...

Leer más→

PRINCIPIO TELL DON'T ASK

PHP244 visitas
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 ...

Leer más→

COMPILADOR JIT

PHP85 visitas
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 ...

Leer más→

COMO ENVIAR DATOS POR POST USANDO FILE_GET_CONTENTS

PHP269 visitas
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 ...

Leer más→

DIFERENCIA ENTRE FILE_GET_CONTENTS Y CURL EN PHP

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

Leer más→

PATRÓN STRATEGY EN PHP

PHP265 visitas
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 ...

Leer más→

OBTENER PAIS VISITANTE POR IP EN PHP

PHP254 visitas
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 ...

Leer más→

COMO SABER SI UNA FUNCIÓN ESTÁ DESACTIVADA EN PHP

PHP304 visitas
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 ...

Leer más→

COMPROBAR SINTAXIS DE UN FICHERO EN PHP

PHP330 visitas
Para comprobar sintaxis de un fichero en php...

Leer más→

VARIABLES ESCALARES EN PHP

PHP335 visitas
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. Y...

Leer más→

COMO OBTENER EL NÚMERO PI EN PHP

PHP259 visitas
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 ...

Leer más→

COMO CREAR SCRIPTS EN COMPOSER

PHP518 visitas
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 ...

Leer más→

CANNOT MODIFY HEADER INFORMATION - HEADERS ALREADY SENT

PHP397 visitas
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 ...

Leer más→

MATCH EN PHP 8

PHP382 visitas
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 ...

Leer más→

PRUEBAS BDD CON BEHAT

PHP417 visitas
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 ...

Leer más→

CONEXIONES PERSISTENTES USANDO MYSQLI

PHP439 visitas
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 ...

Leer más→

DESARROLLO DE DEPLOYER EN PHP

PHP275 visitas
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 ...

Leer más→

CONEXIONES SSH EN PHP

PHP415 visitas
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...

Leer más→

CREAR COMANDOS PERSONALIZADOS EN SYMFONY 5

PHP595 visitas
El componente Console de symfony permite la creación de interfaces de línea de comandos para después emplearse en tareas como cronjobs, importaciones, etc...En este post voy a explicar como ...

Leer más→

CREAR ENTORNO LAMP EN DOCKER

PHP539 visitas
Docker nos permite virtualizar entornos para trabajar en un mismo entorno con máquinas diferentes. Esto significa que si en un equipo de programación una persona desarolla en windows, otra en ...

Leer más→

EXCEPCIONES EN PHP 8

PHP269 visitas
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 ...

Leer más→

NUEVAS FUNCIONES EN PHP 8

PHP329 visitas
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 ...

Leer más→

MIXED TYPE

PHP302 visitas
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 ...

Leer más→

CONSTRUCTOR PROPERTY PROMOTION

PHP206 visitas
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 ...

Leer más→

UNION TYPES

PHP283 visitas
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 ...

Leer más→

PHPSALM

PHP360 visitas
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 ...

Leer más→

ADAPTAR EL CÓDIGO PHP A LOS STANDARES PSR CON PHP-CS-FIXER

PHP235 visitas
Hace un tiempo hablé de los estandares 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 ...

Leer más→

PHPSTAN

PHP375 visitas
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...

Leer más→

TRABAJAR CON FICHEROS .ENV EN PHP

PHP643 visitas
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 ...

Leer más→

SEPARADOR LITERAL NUMÉRICO EN PHP

PHP482 visitas
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 ...

Leer más→

CUANDO USAR SELF O THIS EN PHP

PHP1055 visitas
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 ...

Leer más→

FUNCIONES ARROW EN PHP

PHP531 visitas
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.Las ...

Leer más→

TYPE VARIANCE EN PHP

PHP428 visitas
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 ...

Leer más→

OPERADOR SPREAD EN PHP

PHP505 visitas
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 ...

Leer más→

COMILLAS SIMPLES Y COMILLAS DOBLES

PHP1091 visitas
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 ...

Leer más→

PHP DETERMINAR IDIOMA DEL VISITANTE

PHP1174 visitas
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 ...

Leer más→

MAGIC FUNCTIONS

PHP1078 visitas
Hace tiempo que quería probar ésto y la verdad me ha sorprendido su funcionamiento. Nunca lo he visto, ni usado, en los proyectos en los que he participado. Pero nunca está de más saber como ...

Leer más→

PRUEBAS TDD

PHP911 visitas
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...

Leer más→

MODELO VISTA CONTROLADOR

PHP1019 visitas
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...

Leer más→

IMAGEN EN BASE DE DATOS

PHP968 visitas
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 ...

Leer más→

SESIONES EN SERVIDORES BALANCEADOS

PHP1068 visitas
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...

Leer más→

OBTENER ARRAY CON CON LOS EMENTOS DE UNA FECHA

PHP533 visitas
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 ...

Leer más→

TUTORIAL EASYADMIN DE SYMFONY

PHP2629 visitas
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 ...

Leer más→

COMO USAR DEPLOYER EN PHP

PHP765 visitas
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 ...

Leer más→

EJECUTAR VARIAS QUERIES CON MYSQLI

PHP813 visitas
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( ...

Leer más→

POST GET Y REQUEST

PHP3765 visitas
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 ...

Leer más→

INYECCIÓN DE SQL

PHP1467 visitas
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 ...

Leer más→

PRINCIPIO DRY

PHP783 visitas
Hace un tiempo escribi sobre los principios KISS y ahora quiero hablaros sobre el principio dry que significa Don`t Repeat Yourself que básicamente significa, y que es obvio, que no tengas ...

Leer más→

MONGODB Y PHP

PHP1766 visitas
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 ...

Leer más→

ASERCIONES

PHP1223 visitas
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 ...

Leer más→

OBTENER FICHERO CON CURL

PHP980 visitas
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 ...

Leer más→

MÁSCARAS DE BITS

PHP1006 visitas
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 ...

Leer más→

ENVIAR MAILS CON ADJUNTOS

PHP1044 visitas
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 ...

Leer más→

COMO LLAMAR A FUNCIONES Y PROCEDIMIENTOS ALMACENADOS DE MYSQL EN PHP

PHP963 visitas
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 ...

Leer más→

BASE_CONVERT

PHP1009 visitas
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...

Leer más→

OPERADOR TERNARIO

PHP1181 visitas
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...

Leer más→

GUARDAR LOG EN PHP

PHP2874 visitas
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 ...

Leer más→

VALIDAR EMAIL

PHP1085 visitas
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 ...

Leer más→

VALIDAR FECHAS PHP

PHP1381 visitas
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 ...

Leer más→

RECORRER DIRECTORIOS

PHP1059 visitas
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 ...

Leer más→

CIERRE DEL PHP

PHP1115 visitas
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 ...

Leer más→

PASAR UNA FUNCION COMO PARÁMETRO DE OTRA FUNCIÓN EN PHP

PHP1458 visitas
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 ...

Leer más→

CREAR UN CHATBOT CON BOTMAN EN PHP

PHP6636 visitas
Ya hay varias aplicaciones y webs que usan chatbots y pueden estar diseñados para realizar tareas sin la ayuda de un humano. Por ejemplo, como pedir una pizza o marcar una fecha en el calendario...

Leer más→

PASO DE PARÁMETROS VARIABLE A UNA FUNCIÓN

PHP995 visitas
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...

Leer más→

VALIDACIONES

PHP985 visitas
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, ...

Leer más→

TRUCOS PARA OPTIMIZAR EL CÓDIGO

PHP1167 visitas
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 ...

Leer más→

REDUCIR TIEMPO DE CARGA

PHP1140 visitas
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 ...

Leer más→

NAMESPACES

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

Leer más→

FUNCIONES ANÓNIMAS

PHP1301 visitas
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 ...

Leer más→

OPTIMIZACIÓN DE UN PROYECTO

PHP1092 visitas
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 ...

Leer más→

MONGODB

PHP986 visitas
Hace ya algunos años que están funcionando las bases de datos NoSQL. La verdad es que al principio me costó entender el concepto ya que siempre he trabajado con bases de datos relacionales ...

Leer más→

PATHINFO

PHP1161 visitas
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 ...

Leer más→

DOBLES DE PRUEBA CON PHPUNIT

PHP724 visitas
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 ...

Leer más→

SMARTY

PHP1648 visitas
Smarty es un motor de plantillas para php. Esta herramienta facilita la manera de separar la aplicación lógica y el contenido en la presentación. La mejor descripción esta en una situación ...

Leer más→

SINGLETON

PHP1091 visitas
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 ...

Leer más→

CACHEAR CONTENIDO CON MEMCACHED

PHP1298 visitas
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...

Leer más→

ACELERADOR DE PHP APC

PHP1288 visitas
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. ...

Leer más→

CLONAR OBJETOS

PHP1004 visitas
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 ...

Leer más→

VARIABLES VARIABLES

PHP1168 visitas
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 ...

Leer más→

BÚFER DE SALIDA

PHP977 visitas
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 ...

Leer más→

HEREDOC

PHP2745 visitas
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 ...

Leer más→

AUTOLOAD

PHP1157 visitas
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 ...

Leer más→

SPHINX

PHP1554 visitas
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 ...

Leer más→

WEB SCRAPING

PHP1764 visitas
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 ...

Leer más→

REGISTRY

PHP1468 visitas
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 ...

Leer más→

OBSERVER

PHP1213 visitas
El patrón observer, también conocido como el patrón publicación-inscripción, el cual, permite definir una dependencia uno-a-muchos entre varios objetos, provocando que cuando uno cambie de ...

Leer más→

DECORATOR

PHP1148 visitas
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 ...

Leer más→

FACTORY

PHP1177 visitas
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 ...

Leer más→

PATRONES DE DISEÑO

PHP1129 visitas
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 ...

Leer más→

CROSS SITE SCRIPTING

PHP1073 visitas
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...

Leer más→

CROSS SITE REQUEST FORGERY

PHP1052 visitas
El Cross Site Request Forgery también llamado CSRF se basan en explotar la confianza que los sitios web tienen con sus usuarios. No como en los ataques Cross Site Scripting.este tipo de ataque ...

Leer más→

OBJECT INJECTION

PHP1118 visitas
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 ...

Leer más→

OPERADOR COMBINADO DE COMPARACIÓN

PHP1092 visitas
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 ...

Leer más→

PHP 7

PHP1850 visitas
Acabo de migrar mi página web a php 7 y la verdad pensé que iba a ser más crítico. Lo único que he tenido que cambiar es que para conectarse a MySQL hay que usar mysqli o pdo.Uno de los ...

Leer más→

PDO

PHP1689 visitas
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 ...

Leer más→

TRANSACCIONES PDO

PHP1708 visitas
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 ...

Leer más→

OPERADOR COALESCENCIA NULO

PHP2272 visitas
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 ...

Leer más→

CONEXIONES MYSQLI

PHP1225 visitas
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 ...

Leer más→

CONEXIÓN SSL A MYSQL

PHP1632 visitas
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 ...

Leer más→

ELASTICSEARCH

PHP1809 visitas
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 ...

Leer más→

COMPOSER

PHP1904 visitas
Composer es un gestor de dependencias de proyectos de ...

Leer más→

INYECCIÓN DE DEPENDENCIAS

PHP1210 visitas
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 ...

Leer más→

EXTRACT

PHP1129 visitas
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 ...

Leer más→

LISTAS DE CONTROL DE ACCESO O ACL

PHP963 visitas
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é ...

Leer más→

SOBRECARGA DE FUNCIONES

PHP1113 visitas
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 ...

Leer más→

PHP JAVA BRIDGE

PHP2420 visitas
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 ...

Leer más→

BREAK

PHP1113 visitas
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...

Leer más→

TRAITS

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

Leer más→

PHAR

PHP1179 visitas
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...

Leer más→

FORK DE PROCESOS

PHP1024 visitas
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 ...

Leer más→

CREAR FICHERO TEMPORAL

PHP1219 visitas
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...

Leer más→

CADENAS DE CARACTERES MULTIBYTE

PHP1173 visitas
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 ...

Leer más→

VULNERABILIDAD FUNCIÓN MAIL

PHP1055 visitas
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 ...

Leer más→

SECURIZAR PHP

PHP1380 visitas
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 ...

Leer más→

VALIDAR DOMINIO EMAIL

PHP1078 visitas
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 ...

Leer más→

VULNERABILIDAD LFI

PHP1351 visitas
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 ...

Leer más→

PUBLIC PRIVATE Y PROTECTED

PHP1057 visitas
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 ...

Leer más→

CACHE SENCILLO CON PHP

PHP1173 visitas
Hace unos meses escribí un post sobre usar caché, para cachear contenidos, en php, más concretamente lo escribí sobre memcached, aunque hay varios disponibles.Hoy os voy a hablar de como ...

Leer más→

CONDICIONES YODA

PHP1044 visitas
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...

Leer más→

NOWDOC

PHP1145 visitas
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 ...

Leer más→

PROBLEMA CON ISSET

PHP1159 visitas
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 ...

Leer más→

MEMORIA USADA POR PHP

PHP964 visitas
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 ...

Leer más→

FIREPHP

PHP1088 visitas
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 ...

Leer más→

PHPCPD

PHP1389 visitas
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 ...

Leer más→

STDCLASS

PHP1105 visitas
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 ...

Leer más→

LISTADO DE FICHEROS ORDENADOS

PHP1077 visitas
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 ...

Leer más→

OPERADOR ELVIS

PHP1509 visitas
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 ...

Leer más→

ALGORITMO DE LUHN

PHP6705 visitas
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...

Leer más→

COUNT RECURSIVO

PHP1194 visitas
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 ...

Leer más→

SINTAXIS ALTERNATIVA DE LAS ESTRUCTURAS DE CONTOL

PHP2901 visitas
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 ...

Leer más→

RASTREAR EL CÓDIGO

PHP1086 visitas
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...

Leer más→

API DE TWITTER Y PHP

PHP1242 visitas
Hoy he integrado Twitter en mi blog de programación tanto para publicar en Twitter al escribir un post y recupera los Twitter de los post de mi blog. O sea que este post se tweetará sin tener ...

Leer más→

PROYECTOS EN VARIOS IDIOMAS

PHP984 visitas
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 ...

Leer más→

OBTENER COLUMNA DE UN ARRAY MULTIDIMENSIONAL

PHP1461 visitas
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 ...

Leer más→

PROGRAMACIÓN FUNCIONAL EN PHP

PHP1918 visitas
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 ...

Leer más→

ACORTAR URLS EN PHP

PHP1149 visitas
Siempre que escribo un post en mi blog se autopublica en twitter con la categoría del post como hastag así me ahorro el tener que publicarlo yo en twitter. Siempre se pone un enlace a la url ...

Leer más→

COMO CREAR BUNDLES EN SYMFONY 3

PHP1305 visitas
Estoy aprendiendo a hacer páginas web con Symfony 3 y la verdad es que me está resultando bastante sencillo. Los bundles en Symfony 3 son módulos, paquetes o plugins, teniendo cada uno de ...

Leer más→

CREAR ENTIDADES EN SYMFONY 3

PHP3253 visitas
Despues de aprender como crear bundles en Symfony 3 ahora toca aprender a crear entidades en symfony 3. Las entidades son el modelo dentro de la arquitectura MVC, es decir, nos van a permitir ...

Leer más→

DESARROLLAR UN BUSCADOR EN PHP

PHP1082 visitas
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 ...

Leer más→

CREAR SERVICIOS EN SYMFONY 3

PHP1459 visitas
Después de aprender a crear bundles y entidades he aprendido a crear servicios en Symfony 3.Un servicio en Symfony 3 son funcionalidades globales que vamos a usar en nuestro código como mandar ...

Leer más→

PRINCIPIOS SOLID

PHP1030 visitas
Los principios solid son una 5 reglas establecidas por Robert C. Martin (Uncle Bob), que escribió el libro de clean code, donde se habla de como escribir algoritmos fáciles de entender y ...

Leer más→

OBTENER PERMISOS DE UN FICHERO EN PHP

PHP1073 visitas
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 ...

Leer más→

TIPADO EN PHP

PHP1682 visitas
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 ...

Leer más→

ESTANDARES DE PROGRAMACIÓN PSR EN PHP

PHP3644 visitas
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...

Leer más→

CREAR CONTROLADORES EN SLIM

PHP1741 visitas
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 ...

Leer más→

EXCEPCIONES EN PHP

PHP2944 visitas
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 ...

Leer más→

GESTIÓN DE ERRORES EN PHP

PHP1291 visitas
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 ...

Leer más→

VARIABLES EN PHP

PHP1047 visitas
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 ...

Leer más→

PRINCIPIOS KISS

PHP1166 visitas
Hace un tiempo escribía sobre los principios SOLID y hoy voy a hablar de los principios kiss. En este caso kiss significa Keep It Simple, Stupid (Mantenlo sencillo, estúpido).El principio KISS ...

Leer más→

SERVIDOR WEB EMBEBIDO

PHP1477 visitas
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 ...

Leer más→

MAPREDUCE EN PHP

PHP1271 visitas
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 ...

Leer más→

CREAR UNA API EN PHP

PHP1755 visitas
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 ...

Leer más→

PERSONALIZAR PÁGINAS DE ERROR CON SYMFONY

PHP1339 visitas
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 ...

Leer más→

FORMULARIO NO ENVÍA EN ZEND

PHP963 visitas
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 ...

Leer más→

VER QUERY EN ZEND

PHP1044 visitas
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 ...

Leer más→

COMPROBAR SI UNA VARIABLE EXISTE EN PHP

PHP860 visitas
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 ...

Leer más→

USAR BASE DE DATOS EXTERNA EN WORDPRESS

PHP4588 visitas
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 ...

Leer más→

AUTENTIFICACIÓN POR TOKEN

PHP849 visitas
¿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....

Leer más→

USAR NAMESPACES EN PHP PASO A PASO

PHP875 visitas
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 ...

Leer más→

GENERADORES EN PHP

PHP914 visitas
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 ...

Leer más→

MODIFICAR IMÁGENES EN PHP

PHP667 visitas
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 ...

Leer más→

ENCRIPTACIÓN SAL Y PIMIENTA

PHP990 visitas
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 ...

Leer más→

PILAS Y COLAS EN PHP

PHP6136 visitas
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

Leer más→

EVITAR QUE LOS CORREOS LLEGUEN A SPAM

PHP858 visitas
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...

Leer más→

OPERADOR DE EJECUCIÓN EN PHP

PHP794 visitas
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 ...

Leer más→

ANOTACIONES EN PHP

PHP1439 visitas
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 ...

Leer más→

COMO USAR REDIS CON PHP

PHP912 visitas
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 ...

Leer más→

ESTABLECER REDIS COMO GESTOR DE SESIONES EN PHP

PHP904 visitas
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 ...

Leer más→

PRUEBAS UNITARIAS CON PHPUNIT

PHP1629 visitas
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 ...

Leer más→

FIXTURES EN PHPUNIT

PHP553 visitas
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...

Leer más→

VARIABLES SUPERGLOBLALES EN PHP

PHP486 visitas
Las variables supergloblales 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 ...

Leer más→

COMO OBTENER LAS CARACTERÍSTICAS DEL NAVEGADOR DEL USUARIO EN PHP

PHP539 visitas
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 ...

Leer más→

COMO GENERAR IDS ÚNICOS EN PHP

PHP647 visitas
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 ...

Leer más→

MÉTODOS ENCADENADOS EN PHP

PHP577 visitas
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 ...

Leer más→

PROTEGER EL ADMIN CON CONTRASEÑA EN SYMFONY

PHP932 visitas
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 ...

Leer más→