Indexación y búsquedas en PHP con Lucene

Patxi, December 17th, 2009

Lucene es una API realizada dentro del proyecto Apache, cuyo objetivo es indexar información y realizar búsquedas sobre ella. Inicialmente se realizó en Java pero existen traducciones a diferentes lenguajes. En el caso de PHP el Zend Framework incluye una implementación de esta API que incluso mantiene la compatibilidad de los índices que genera la [...]

Instalación y uso de Memcache con PHP

Patxi, May 15th, 2009

Tras un largo periodo de tiempo sin escribir vuelvo con unas breves indicaciones de cómo instalar y utilizar memcached desde PHP. Memcached consiste en un sistema de caché distribuido que permite guardar datos a diferentes aplicaciones en un conjunto de servidores que actúan como servidores de caché. Ofrece un sistema muy sencillo de utilizar a [...]

Cómo resetear un autoincremental en MySQL

Patxi, December 2nd, 2008

Cuando se trabaja con bases de datos MySQL es habitual utilizar los autoincrementales para crear las claves primarias de las tablas de datos. Este tipo de campos lo que hacen es asignar un entero diferente a cada nuevo registro, añadiendo 1 al anterior valor asignado, empezando por el 1. Por lo tanto, si borramos toda [...]

Instalación en Ubuntu del cliente de Oracle OCI8 para PHP5

Patxi, November 24th, 2008

Aunque lo más habitual es utilizar MySQL como base de datos conjuntamente con PHP, es posible utilizar prácticamente cualquier otro tipo de base de datos. En las próximas líneas veremos cómo configurar PHP5 para que pueda conectarse con bases de datos Oracle. Hay diferentes formas de realizar esta configuración. En esta guía utilizaremos el Oracle [...]

Serialización de objetos en PHP5

Patxi, August 4th, 2008

La serialización es una de esas cuestiones que suelen pasar desapercibidas en PHP pero que permiten, entre otras cosas, incrementar significativamente el rendimiento de las aplicaciones. Nos permite crear representaciones de texto de cualquier dato de PHP, como arrays y objetos, lo cual abre las puertas a que esta información se almacene por ejemplo en [...]

Usando Iteradores para recorrer colecciones en PHP5

Patxi, June 30th, 2008

Los iteradores nos permiten recorrer de forma fácil colecciones de objetos, de forma similar a como recorreríamos un array o una lista con un while o un foreach. Imaginemos que tenemos una aplicación en la que tenemos una clase Book que representa libros y queremos utilizar una colección de libros. Una forma sería simplemente utilizar [...]

Retomando PHP tras una larga temporada

Patxi, June 23rd, 2008

Pues sí, tras más de dos años sin trabajar con PHP he vuelto a él. En este tiempo he hecho alguna cosilla en PHP pero principalmente he estado trabajando con otras tecnologías como Java y .NET. No hay ningún motivo especial en ello, simplemente que los derroteros de la vida me han llevado hacia un [...]

Framework de Zend para el desarrollo de aplicaciones PHP

Patxi, July 3rd, 2007

Zend acaba de publicar la primera versión de su framework de desarrollo de aplicaciones para PHP. En la actualidad hay multitud de estos frameworks, pero algo que siempre he echado en falta al programar con PHP, es un framework completo y oficial. PHP viene con multitud de funciones que habitualmente encapsulan el comportamiento de librerías [...]

Validación de datos de entrada con expresiones regulares en PHP

Patxi, April 17th, 2007

Ayer me llevé una buena sorpresa al leer un post que me llegó vía Buayacorp. Desde siempre he considerado fundamental la comprobación y validación de los parámetros de entrada de las aplicaciones web, algo imprescindible si se quiere garantizar en cierta medida el correcto funcionamiento de una aplicación o protegerla frente a diferentes tipos de [...]

Resumen de vectores de ataque XSS y SQL Injection

Patxi, March 27th, 2007

Una tarea importante en cualquier desarrollo es garantizar su seguridad ante ataques. O al menos así debería serlo, porque no suele ser lo habitual. Muchas veces estas cosas no se tienen en cuenta, bien por premuras de tiempo en el cierre de proyectos, o por el mero desconocimiento de los desarrolladores, que hace que sus [...]