Archive for the ‘Programacion PHP’ Categoria

Subir videos a Youtube con el Zend Framework

Miércoles, Mayo 14th, 2008

Como sabeis hace poco Google amplió la API de Youtube para poder subir videos desde nuestra propia aplicación. Jochen Hartmann nos muestra en este vídeo los pasos básicos a seguir para usar la Youtube Data API que incluye el Zend Framework.

Hace poco estuve usando el Zend Framework para mostrar videos de Youtube (concretamente para la web de Animum Studios) y la verdad es que simplifica un montón el proceso además de hacerlo más “divertido”.
Os animo a que la probeis.

10 falsos mitos sobre PHP

Jueves, Enero 3rd, 2008

Me he encontrado este interesante artículo de Jaybill MacCarthy, en el que desmiente los 10 mitos más populares que suelen oírse sobre el lenguaje PHP.

Mito #1: PHP no es realmente un lenguaje orientado a objetos

Suelo oír esta afirmación de multitud de programadores java. Es completamente falso. PHP tiene unas excelentes facilidades para la programación orientada a objetos. Herencia, objetos abstractos, interfaces, propiedades y métodos. Es cierto que no existe polimorfismo.
(Personalmente creo que el polimorfismo es una malísima idea, pero simplemente es mi opinión). También debo decir que PHP 5 ha supuesto una notable mejora para los mecanismos de OO, pero he escrito montones de aplicaciones con PHP4 que estaban totalmente orientadas a objetos. El simple hecho de que PHP te permita escribir código con estructura de procedimientos, no significa que no sea un lenguaje OO. Es más el hecho de permitir mezclar los dos tipos de programación hace que cosas como los scripts de inicio sean muy fáciles y simples.

Mito #2: PHP fomenta el código lioso

También falso. ¿Hay mucho código PHP lioso por ahí? No. Es muy fácil empezar a programar con PHP y eso significa que mucha gente con pocos conocimientos de programación pueden realizar aplicaciones usando este lenguaje. El código lioso/indocumentado que resulta no es culpa de PHP sino de la falta de experiencia de esos programadores.

Jaybill analiza también temas típicos como:

  • PHP es lento porque es un lenguaje interpretado
  • PHP no es realmente un lenguaje “serio” para programadores

Puedes leer el artículo completo en 10 PHP Myths Dispelled.

fav.or.it Lector de feeds

Jueves, Diciembre 13th, 2007

fav.or.it feed reader lector de feeds

Gracias a la web del Zend Framework, llego hasta este interesante proyecto de un lector de feeds al estilo Google Reader, realizado con el Framework de Zend y con un alto uso de AJAX (principalmente prototype).

Las capturas de pantalla y los videos tienen muy buena pinta y ya me he apuntado para ser de los primeros en probarlo.

Cuando parece que ya está hecho todo en un determinado tema, siempre hay gente capaz de innovar y mejorar lo existente. Y eso también saben verlo los inversores.

Cache en Wordpress usando el Zend Framework

Martes, Septiembre 11th, 2007

Zend Framework
Desde hace tiempo, este blog está superando los 1000 visitantes diarios y las 2300 páginas vistas. Eso empieza a plantearme algunos problemas, sobre todo teniendo en cuenta la cantidad de recursos que consume el wordpress y que a mí me gusta mucho optimizar el rendimiento del servidor.

Es por eso que he estado buscando alguna forma de añadir cache de páginas al blog. Las opciones que he encontrado han sido:

Pero ninguno de los dos me ha convencido. Lo que yo busco es algo que sea muy eficiente pero a la vez muy simple. Ni siquiera necesito interfaz de administración.

Y es ahí cuando me he dado cuenta de lo evidente… Tanto tiempo usando el Zend Framework y su cache de páginas y no se me había ocurrido aplicarlo al wordpress :P

La instalación es muy sencilla, simplemente he bajado el Zend Framework y he copiado la carpeta “library” a mi directorio raíz de wordpress. Después he creado una carpeta donde irán las páginas cacheadas (en mi caso ha sido: wp-content/cache) que debe tener permiso de escritura (0777).

Y ahora viene lo importante. Hemos de modificar el index.php de wordpress para añadir el código que nos permite usar la cache. Este es ahora mi index.php:


<?php
set_include_path ('library' . PATH_SEPARATOR . get_include_path ());

require_once ‘Zend/Cache.php’;

$frontendOptions = array(
‘lifetime’ => 3600*6,
‘debug_header’ => false, // for debugging
‘default_options’ => array(
‘cache_with_session_variables’ => true,
‘cache_with_cookie_variables’ => true
),
‘regexps’ => array(
‘^/$’ => array(’cache’ => false),
‘^/2007/’ => array(’cache’ => true),
‘^/category/’ => array(’cache’ => true),
‘^/2008/’ => array(’cache’ => true)
)
);
$backendOptions = array(
/* cache_dir debe ser una ruta absoluta por temas del ob_start */
‘cache_dir’ => dirname($_SERVER[’SCRIPT_FILENAME’]) . ‘/wp-content/cache/’
);

// getting a Zend_Cache_Frontend_Page object
$cache = Zend_Cache::factory(’Page’, ‘File’, $frontendOptions, $backendOptions);
$cache->start();

/* Short and sweet */
define(’WP_USE_THEMES’, true);
require(’./wp-blog-header.php’);
?>

Podeis encontrar documentación sobre el sistema de cache del Zend Framework aquí. Pero básicamente lo que hago es cachear todos los posts y los listados de las categorías durante 6 horas (3600 segundos * 6). De esta forma, durante esas 6 horas, si se accede a alguno de los posts del blog o a alguna categoría, se tomará la copia de cache y se evitará el pasar por todo el codigo de wordpress, incluida la conexión a la base de datos.

Lo malo de esta solución es que cuando vuelva a actualizar wordpress, tendré que acordarme de no pisar el index.php.

Guardar imagenes en mysql

Martes, Agosto 7th, 2007

Me ha vuelto a llegar de nuevo la pregunta de si es más interesante guardar las imágenes dentro de la base de datos o en el sistema de ficheros del Servidor.

Para todos aquellos que tengais dudas de cómo almacenar imagenes en MySQL, hace bastante tiempo escribí un artículo que os puede resultar interesante.

En general, mi experiencia sobre el tema me lleva a recomendar que se use el sistema de ficheros del servidor antes que guardar la imagen directamente dentro de la base de datos.

Algunos de los inconvenientes que me he encontrado:

  • lentitud en las consultas a la tabla que contiene las imágenes.
  • dificultad a la hora de recuperar las imágenes.
  • dificultad a la hora de exportar la información de la base de datos e importarla en otro servidor / base de datos.
  • sobrecarga del servidor (más pasos e instrucciones para conseguir algo que puede ser muy simple).
  • etc.

Además, el tener disponibles las imágenes en carpetas del servidor os permitirá usar de forma sencilla herramientas de redimensionado y retoque como la biblioteca GD o las de imagemagick.

Por lo tanto,  mi recomendación es - siempre que sea posible - evitar guardar las imágenes directamente en la base de datos.

El Zend Framework y el diseñador híbrido

Miércoles, Julio 18th, 2007

Hoy me he encontrado con este interesante artículo en la Zend Developer Zone, donde se comenta la necesidad creciente de ser un poco “híbrido” a la hora de desarrollar en la web. Por una parte tener buenos conocimientos de programación y por la otra buen gusto y cuidado de la estética cara al usuario. Todo ello, aplicado a la metodología de trabajo del Zend Framework. La única pega es que está en inglés.

HTML Purifier 2.0.0

Viernes, Junio 22nd, 2007

HTML Purifier
HTML Purifier es una clase PHP que permite depurar el HTML (Standards Compliant) para:

 
  • eliminar código malicioso (XSS)
  • colocar tags de cierre olvidadas
  • arreglar anidados ilegales de etiquetas
  • convertir etiquetas antiguas (descatalogadas) a las nuevas
  • validado del CSS

Entre otras muchas cosas más…
Además, disponemos de versión para PHP 4 y para PHP 5.

Esta es una de esas cosas que encuentras y dices ¡si la hubiera conocido cuando hice aquel[..]!
Pues nada, a partir de ahora, a usarla.