Dec 12

En la pasada Anoia PHP Conference mi amigo Victor Guardiola realizó una interesante ponencia acerca de como trabajar con GData desde PHP usando las clases que el Zend Framework nos ofrece para ello. Concretamente presenta un ejemplo de como desarrollar un listado de tareas mediante Zend_GData, Zend_GData_ClientLogin y Zend_GData_Calendar.

Os dejo el enlace para descargar la presentación. Por cierto, si os gusta el formato de la presentación está realizada con Google Docs, of course :)

Tagged with:
Dec 12

Funcaday.com es un interesante proyecto presentado hace pocos días por Paul Reinheimer y Courtney Wilson. Se trata de un especie de calendario donde se pretende explicar una función PHP cada día de la semana y un concepto cada fin de semana.

Es algo parecido a la iniciativa que tuvo Nexen.net de hacer el mes de las funciones PHP pero que dura para siempre. Teniendo en cuenta que el PHP ofrece alrededor de 3000 funciones tienen unos años de contenido asegurado :)

Vía Zend Developer Zone

Tagged with:
Dec 04

MediaWiki es, probablemente, el motor para wikis más conocido del mundo. Originalmente creado para la Wikipedia actualmente es usado por una gran cantidad de wikis que nada tienen que ver con dicha fundación. La instalación por defecto del MediaWiki configura unas URLs no muy apropiadas en los tiempos que corren (con scripts PHP visibles y parámetros por GET) pero que tienen la ventaja de funcionar correctamente en un mayor número de servidores. Si dispones de mod_rewrite a continuación describo una forma de hacer estas URLs un poco más “bonitas” y cortas.

Acerca de este tema existe mucha documentación y en el apartado correspondiente del manual puedes encontrar varias alternativas. Después de haber trabajado con varias wikis en estos últimos años la que encuentro mejor es la siguiente.

Modificar LocalSettings.php

Se debe sustituir el valor de la variable $wgArticlePath por:

[php] $wgArticlePath = “/$1”; [/php]

y si no tienes definida esta variable se debe añadir en un lugar cercano a la definición de $wgScriptPath.

Modificar .htaccess

Añadir las siguientes lineas a tu .htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^$ http://www.ejemplo.com/Portada [R=301,L]
RewriteRule ^[^:]*\. - [L]
RewriteRule ^[^:]*\/ - [L]
RewriteRule ^(.+)$ /mediawiki/index.php?title=$1 [L,QSA]

Las URLs resultantes tienen la forma:

http://www.ejemplo.com/Portada para la Home.
http://www.ejemplo.com/Prueba para una página llamada “Prueba”.

Consideraciones

Este método funciona correctamente en distintos escenarios aunque se han de tener en cuenta algunas consideraciones:

[1] La wiki debe estar instalada en el directorio “mediawiki”. Si la tienes en otro directorio sustituye “mediawiki” por el nombre apropiado en las anteriores reglas de mod_rewrite.

[2] Si alguien accede a la raíz del dominio es redirigido a “/Portada” con una redirección permanente (301).

[3] Si el nombre de tu wiki contiene un punto (p.e. Ejemplo.com) fallarán los accesos a algunas páginas especiales. Para forzar que las páginas especiales que usan el nombre de la wiki en la URL se procesen correctamente es necesario añadir la siguiente regla justo después de la redirección a la Portada:

RewriteRule ^Ejemplo\.com(.+)$ /mediawiki/index.php?title=Ejemplo.com$1 [L,QSA]

Tagged with:
preload preload preload