|

SimplePie: parser de RSS y Atom para PHP

simplepie.pngSi el otro día hablabamos de MagpieRSS, hoy tenemos que hablar de SimplePie, una librería en PHP que nos recomienda artux y que nos permite leer los feeds RSS y Atom.
Es fácil de usar incluso para principiantes en PHP, rápido debido a que cachea los contenidos, admite RSS 0.91, RSS 1.0 y RSS 2.0 y Atom 0.3 y 1.0 y muchas cosas más.
SimplePie

Ogoproject: proyecto para ‘limpiar’ PHP

ogoproject.pngLa verdad es que lo malo que tiene PHP es que tiene bastantes inconsistencias en la nomenclatura y en el orden de los parámetros. Supongo que ha habido gente que cansados de este fallo en PHP han creado el proyecto Ogo, el cual pretende limpiar el código PHP de estas inconsistencias en los nombres de las funciones, a parte de la dificultad de recordarlos.
Lo que pretenden entre otras cosas es que los nombres de las funciones sigan la notación camel case, esto es, las palabras en minúsculas sin separaciones (guiones bajos) y cuando empiece una palabra nueva, la primera letra de la nueva palabra deberá ir en mayúsculas. Así por ejemplo, si tenemos la función html_entity_decode se transformará en htmlEntityDecode, isset en isSet y is_array en isArray.
Por ahora ofrecen pretenden ofrecer un fork de PHP hasta que se resuelva el problema de compatibilidades.
ogoproject
Vía / dzone

|

MagpieRSS: RSS para PHP

MagpieRSS es un parser de RSS para PHP, que entre otras características tiene:

  • Admite la mayoría de los formatos RSS, incluyendo soporte para módulos 1.0.
  • Integra Object Cache, lo que significa que la segunda petición es más rápida.
  • HTTP GETs condicionales, no desperdicies ancho de banda y velocidad en la descarga usando Last-Modified y ETag.
  • Configurable y modular.
  • Admite autenticación HTTP y SSL.
  • No usa fopen(), funciona incluso cuando allow_url_fopen está desactivado.

MagpieRSS

|

TinyDigg: API simple de Digg para PHP

Aunque el mismo autor reconoce que el código no está muy optimizado, el hecho es que esta librería de PHP para acceder a funciones de Digg, puede ser de suficiente utilidad por si queremos incluir las noticias de Digg actualizadas en nuestra web.
Muestra el número de diggs que tiene una historia, la categoría de la historia, cabecera, enlace a entrada original y el resumen.
TinyDigg
Ejemplo
Vía / Good PHP Tutorials

Leer ficheros Excel desde PHP

Aunque no es lo más recomendable importar en una aplicación web ficheros Excel, lo más lógico sería guardar el archivo como CSV y luego usarlo en la aplicación, hay veces que lo que nos pide el cliente nos puede obligar a tener que leer ficheros Excel en nuestra aplicación.
Para ello usaremos la librería PHP-ExcelReader, siendo necesaria la librería OLE. Por ahora PHP-ExcelReader solo soporta BIFF7 y BIFF8, que son los formatos de archivo que usan Excel 95 hasta Excel 2003.
PHP-ExcelReader
Vía / 7bytes

|

AjaxCore: framework de PHP para Ajax

Ya en otras ocasiones hemos hablado de frameworks de PHP y para aumentar la lista y las alternativas, vamos a hablar de un nuevo framework de PHP pensado en facilitar el desarrollo con Ajax.
Se trata de AjaxCore, un framework cuyo propósito es facilitar el desarrollo de aplicaciones web con Ajax, encargándose de la generación del código Javascript necesario. Usa la librería de Javascript prototype para controlar el uso de las llamadas XMLHTTPRequest.
AjaxCore
Vía / Ajaxian

| |

Escritura el campos blob en MySQL y PHP

Muy buen artículo que explica cómo almacenar imágenes en campos blob usando MySQL y PHP, el post explica realmente cómo crear galerías de imágenes almacenándolas en campos blob. Yo personalmente no soy muy partidario de esta opción, cuando realmente se debería guardar la ruta de la imagen en el servidor y que el servidor web se encargue de enviar la imágen, ya que si no, lo que hacemos es hacer trabajar bastante a la BD.
De todas formas, el artículo puede sernos útil para saber como almacenar en este tipo de campos, porque aunque el ejemplo no sea del todo correcto, en alguna ocasión si que vamos a necesitar guardar datos en campos blob.
Muy bien explicado, añade conceptos básicos de protección por contraseña, actualización y borrado de imágenes, a parte de un par de consejos sobre los problemas que nos podemos encontrar con la capacidad máxima que se permite subir al servidor usando PHP.
PHP MySQL example: image gallery (blob-storage)
Vía / Good PHP Tutorials

|

Lógica de aplicación y plantillas mediante PHP

Cuando desarrollamos una aplicación web, algo muy importante es separar la lógica de la aplicación de la presentación. En el siguiente artículo, nos comentan como hacerlo mediante PHP y el sistema de plantillas Smarty.

Primero nos explica la direfencia entre la lógica de aplicación, la cual se encarga de las operaciones como acceso a base de datos, validación de formularios, de la lógica de plantillas, que es la que se preocupa únicamente de mostrar la información.

Dentro de la lógica de aplicación nos tenemos que ocupar de la inicialización y configuración de la lógica de plantillas:

<?php
$smarty = new Smarty();
$smarty->display('index.tpl');
?>

Y en la plantilla mostraremos la información:

<p>
Title: {$title|strtoupper}
Summary: {$summary|truncate}
</p>

Hay que tener cuidado de no cometer el error de en la plantilla modificar el formato del texto, por ejemplo quitarle espacios u otras cosas que corresponden a la lógica de aplicación.

Os recomiendo el artículo, porque viene muy claramente explicado, con ejemplos y nos puede ser de mucha ayuda.

Application logic versus template logic

Técnicas de anti-spam con PHP

spam.pngEl spam se ha convertido en uno de los mayores problemas con los que nos podemos enfrentar a la hora de desarrollar una aplicación web. Si estás en el proceso de creación de una aplicación, te va a venir bastante bien la lectura de los artículos que os pasamos a continuación y de los que hacemos un pequeño resumen.

Las técnicas para luchar contra el spam se pueden dividir en dos:

  • Proteger a la gente que participa en tu web de sufrir spam.
  • Proteger a la propia web del spam.

Si permites que los usuarios puedan participar en tu web, también deberás tener en cuenta que si su dirección de correo electrónico se hace pública puede ser usada para el envio masivo de spam. Al igual, si pones una dirección de email para que contacten contigo, también puedes ser víctima de todos estos mensajes.

Para evitar que los spammers usen tu e-mail, podemos usar varias técnicas:

  • Ofuscación: sustituir los caracteres de la dirección de correo electrónico por sus respectivos hexadecimales.
<a href="mailto:%61%6e%74%69%73%70%61%6d%40%65%78%61%6d%70%6c%65%2e%63%6f%6d">
&#x61;&#x6e;&#x74;&#x69;&#x73;&#x70;&#x61;&#x6d;  <!-- antispam -->
&#x40; <!-- @ -->
&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;        <!-- example -->
&#x2e; <!-- . -->
&#x63;&#x6f;&#x6d; <!-- com -->
</a>
  • Reescribir: Tan sencillo como cambiar antispam@example.com por antispam [ARROBA] example [PUNTO] com.
  • Uso de imágenes: sustituir la dirección de correo electrónico por una imagen que muestre el mismo texto, ya sea mediante una imagen estática o una dinámica creada mediante PHP.
  • Uso de formularios: aunque no te evita del todo el spam, si no muestras tu email y usas un formulario en su lugar, conseguirás que te llegue menos spam.

Lo siguiente a tener en cuenta es evitar que nuestra web sufra spam, para ello disponemos de tres técnicas:

  • CAPTCHA: se trata de mostrar una imagen con un texto distorsionado para que los programa de reconocimiento de caracteres no puedan leerlo, y que así solo sea una persona quien lo lea y escriba su contenido en un campo del formulario. Esta técnica es muy buena, salvo que en ocasiones hay spammers que ofrecen contenido tipo pornografía o cracks a cambio de que el usuario se registre en una de estas web, y así saltarse esta técnica.
  • Moderadores: se trata de que personas aprueben el contenido de los mensajes antes de que sean publicados.
  • Filtros: tener filtros de palabras no permitidas, así como direcciones IP o números de enlaces posibles que identifiquen los mensajes como posibles spam.
  • Validación de email: se envia un email con una url que valida y finaliza el proceso de inscripción.

Anti-spam techniques in PHP, Part 1

Anti-spam techniques in PHP, Part 2

Vía / Good PHP Tutorials

Gráficos 3D con PHP

Si el otro día hablábamos de crear gráficos 3D con Javascript, ahora le toca el turno a PHP. Se trata de una librería que dibuja modelos en 3D, proporcionando las coordenadas de los vértices, permitiendo diferentes ficheros de datos y modelos básicos para poder ser usados. Además, es posible realizar rotación del modelo dado un eje y un ángulo.
3dphp.png
Convex 3D
Vía / dzone