Guía de novedades de PHP 5.2.x

Aunque ya hace tiempo hablamos de las novedades que trae PHP 5.2.x, hoy vamos a mencionar una serie de artículos creados por IBM en la que se nos explica cada una de estas novedades.

Nuevo gestor de memoria

Aunque PHP ya gestiona por nosotros la memoria utilizada en los scripts, no quita que a veces sea necesario gestionar por nuestra cuenta un recurso tan preciado como la memoria.

En versiones anteriores ya podíamos liberar memoria usando la función unset(), pero en esta versión, PHP nos ofrece dos funciones nuevas con las que controlamos el uso de memoria: memory_get_usage() y memory_get_peak_usage(), ambas nos devuelve el uso de memoria, pero con la diferencia de que la segunda nos devuelve el pico de memoria usada y la primera el uso de memoria en ese momento.

Con estas funciones, cuando nos encontremos en un bloque de código que sepamos que gasta mucha memoria, podremos controlar el flujo de la ejecución dependiendo del uso de memoria, así poder evitar problemas de gasto de recursos o evitar errores. Incluso limitar el uso de memoria a scripts, por ejemplo, si queremos obtener en background los feeds de unos blogs para crearnos un planet, podemos evitar que el script utilice mucha memoria y parar cuando haya llegado a un tope.

Nueva extensión de filtro de entrada

Para evitar ataques por parte de usuarios y para mejorar nuestra seguridad, PHP 5.2 incluye dos tipos de filtros para tratar los datos que nos llegan por los formularios de entrada.

Los filtros son de dos tipos uno de tipo sanitizing (desinfectar), el cual elimina caracteres no deseados de un texto y lo devuelve sin estos, y el otro lógico, el cual hace comprobaciones sobre esos textos.

En ambos casos se usa la función filter_var(), pero dependiendo de si se usa el flag FILTER_SANITIZE_STRING o el FILTER_VALIDATE_INT, realizará cualquiera de los dos filtros.

Nueva extensión JSON

Ni que decir tiene que JSON es parte fundamental en las nuevas aplicaciones realizadas con Ajax, por eso PHP incluye dos funciones: json_encode() y json_decode(), la primera transforma datos de PHP en una estructura JSON y la segunda al revés, datos JSON en una matriz de PHP.

Nueva extensión ZIP

El uso de ficheros ZIP, para comprimir ficheros, puede sernos muy útil en muchos casos, ya no solo por comprimir el tamaño de los archivos, sino también porque agrupa en uno solo varios ficheros. La nueva extensión de PHP usa las funciones de la clase Ziparchive para leer y crear ficheros ZIP.

What’s new in PHP V5.2

Ejecuciones multi-hilo en PHP

Algo fuera de lo común, pero que nos puede ser útil alguna vez, es ejecutar en nuestro script PHP, tareas multi-threading.
Aunque PHP no está preparada para la ejecución de threads, el autor del artículo se crea una clase para tratar estas ejecuciones. La simulación de los hilos lo realiza mediante la funcion proc_open(), la cual ejecuta un comando y abre punteros de archivo para entrada/salida.
Uno de los problemas que veo es el tratamiento de errores, que aunque se obtienen mediante el buffer de salida de error, no creo que se tenga un buen control sobre estos.
Multi-threading strategies in PHP
Vía / PHPDeveloper.org

links for 2007-05-03

Las 10 mejores aplicaciones y servicios web gratuitos

Una lista de 10 aplicaciones o servicios web gratuitos que nos pueden ser de gran ayuda:

  • Google Analytics: nos analiza nuestra web y nos ofrece unas estadísticas muy completas.
  • MyBlogLog y BlogCatalog: especial para bloggers, un punto de inicio para darnos a conocer y crear una comunidad alrededor nuestro.
  • HitTail y 103Bees: similares entre sí, nos ofrecen en tiempo real un análisis de las visitas desde buscadores.
  • FeedBurner: maneja nuestros feeds, nos permite llevar un control sobre la gente que accede a ellos, a parte de descargarnos de un tráfico importante para nuestra web o blog.
  • Morgue File: un servicio de almacenamiento para imágenes que se puede usar o para fines comerciales o particulares. Yo casi me quedo con otros servicios de este mismo estilo.
  • OpenAds: servicio de publicidad que podemos instalar en nuestro servidor.
  • La suite de 37Signals: aunque no se trata de una suite para páginas web, sus aplicaciones nos permiten mejorar nuestra productividad: gestor de proyectos, gestor de contactos, chat agrupados y organizador de información y calendario.
  • WordPress: plataforma de blogs más conocida y extendida.
  • Overture Keyword Selector Tool: para SEO más avanzado, nos ofrece una lista de términos y palabras que Yahoo recibe en sus búsquedas.
  • Pew Internet Project: nos ofrece datos y estadísticas sobre el impacto de internet en las familias, comunidades, trabajo y otros grupos.

The Top Ten Free Website Tools and Services

Vía / Digg

links for 2007-05-02

links for 2007-05-01

Protege tus contenidos

Con la gran cantidad de blogs que existen, es fácil que tus contenidos, ya sean imágenes o textos, sean tomados por otros sin permiso o consentimiento. El que exista la licencia Creative Commons no implica que no debamos preocuparnos de proteger nuestros derechos.

En el artículo que os presentamos hablan de cómo proteger nuestros contenidos de otros que acceden a ellos y los utilizan irregularmente. Se centra en tres apartados:

  • Recursos y consejos para tratar con la infracción de los derechos de autor: identificando la fuente, contactando con el autor y enviarle un aviso de cese de la actividad, contactar con sus anunciantes, ya que estos suelen querer anunciarse en sitios con prestigio, avisar a los buscadores para que excluyan a sitio infractor y registrando tus copyrights.
  • Buscando contenido robado: una serie de aplicaciones y recursos que nos ayudarán a encontrar contenido copiado ilegalmente, como por ejemplo Copyspace, la cual nos permite encontrar contenido duplicado de nuestra web, claro, que no te dice si su uso es correcto o no.
  • Evitar que nos cojan nuestros contenidos: evitando el image hotlinking, website hijacking y uso abusivo de feeds, entre otras cosas.

What Do You Do When Someone Steals Your Content

Vía / Lifehacker

|

SAJA: Ajax seguro con PHP

SAJA es una librería para usar Ajax en PHP de forma segura, sin necesidad de crear ningún Javascript y dando soporte a PHP4 y PHP5.
Está diseñado para crear de forma rápida aplicaciones Ajax secillas, seguras y fáciles de mantener.
Se trata de crear funciones PHP que se encarguen de todo, no es necesario registrar callbacks, ni de importar otras funciones. Tan solo se escribe una función y se llama.
La seguridad que nos ofrece es debido a que las peticiones SAJA sólo son válidas si el usuario está actualmente en la página desde donde proviene la petición. A parte, para darle mayor seguridad, se puede encriptar los datos de entrada del usuario antes de que se envíen al servidor.
Tan solo ocupa 14K y 3.8K para el usuario final. No utiliza XML debido a que pesa demasiado y a que parsearlo requiere más proceso que con datos normales. No es necesario escribir código Javascript a no ser que quieras hacer algo fuera de lo común.
SAJA
Vía / Ajaxian