Retomando 3, 2, 1… Como varios de ustedes saben, hemos (el equipo de gelato cms) creado un framework PHP basado en el patrón MVC jerárquico para nuestros propios desarrollos, el cual siempre ha sido open source, pero transmitido sólo a los que lo solicitaban.
En estos dias por fin tomamos la inciativa de reactivar su sitio web, subir una versión estable descargable y lo más importante poner en lÃnea el manual para iniciar a usarlo.
De las versiones anteriores a la 1.0, también hay algunos post de blog como: Crear un Buscador con jQuery y FlavorPHP
Por lo que si gustan pasar a probar pueden visitar la web de FlavorPHP y descargarlo.
Para ir reviviendo este espacio, les recomiendo las siguientes lecturas para ponerse al dÃa con la versión ya no tan nueva de PHP, la 5.3.
VÃctor de la Rocha ha creado un excelente post donde explica paso a paso como crear un buscador en tiempo real utilizando flavorPHP y jQuery.
Para aquellos que no han escuchado de flavorphp lo puedo resumir en: framework mvc para PHP5 propio del equipo de desarrollo de gelato cms para nuestros proyectos personales, el cual algunos amigos fuera de gelato la han utilizado y les gusta (como el cms del blog de @stanmx) por lo que pusimos su mini-sitio diseñado por los chicos de Oversoftec.
Después de mucho tiempo, aquà estoy con la siguiente entrega de la serie sobre patrones de diseño con PHP, la siguiente entrega que estaba planeada era sobre el patrón factory (fábrica o factorÃa), pero en estos dÃas programé un plugin engine para gelato el cual esta versión aún debe contar con soporte para PHP4 y me topé con que una vez terminado y probado no funcionaba correctamente en PHP4, por dos detalles:
1.- PHP4 no soporta propiedades estáticas (soporta métodos estáticos y variables estáticas dentro de estos métodos, pero NO propiedades),la solución a esto vendrá en otro post.
2.- La implementación del patrón singleton más difundida no funciona como deberÃa.
Veamoslo en bits.
La clase anterior implementa el código de singleton en PHP4 más encontrado en los ejemplos sobre el tema.
Si la probamos creando el objeto obj1:
Si imprimimos su valor:
Creamos el objeto obj2:
¿Qué contenido tiene?
Entonces ya tenemos dos objetos derivados de la clase Singleton los cuales al implementar dicho patrón deberamos tener UNA sola instancia, ¿pero esto se cumple?
¿Qué nos devuelve?
Imprimir
Como vemos nos regresa el valor “Imprimir” cuando estamos esperando que imprima “Borrar”.
Para solucionarlo basta con tocar una sola lÃnea de código de la clase y cambiar la lÃnea 7 por lo siguiente:
Ahora si, nuestras pruebas saldrán correctas.
Hay ocasiones en las que uno de repente se encuentra que esta bloqueado de trabajar, estudiar… ponga aquà de lo que este bloqueado … que se le viene a la mente “quiero distraerme un rato“, asà que a procrastinar se ha dicho, pero suele ser complicado seleccionar entre tantas opciones posibles con que comenzar, asà que durante momentos en los que “queria distraerme un rato” me puse a crear un pequeño script PHP, que obtiene desde diferentes fuentes de feeds (que considero adecuadas para esa tarea) sus elementos y de forma completamente aleatoria me regresa un solo elemento cada que lo ejecuto, ahorrandome la tarea de tomar la decisión de por donde comenzar.
Por lo que nace Ocio en Pecesama.Net el cual te redireccionará al elemento seleccionado.
Pensando que teclear la dirección puede ser tedioso he creado un bookmarklet para que sólo lo arrastres a tu barra del navegador.
Hora del ocio!! == arrastralo al navegador.
Pero como se de antemano que mis lectores son más geeks que un simple bookmarklet he creado un comando para ubiquity (gracias a Jorge Condomà por la ayuda), asà que si lo tienes instalado en tu firefox, solo pasa por mi home y registralo. No olvides indicarle que se actualice automáticamente para que siempre tengas el comando actualizado.
La forma de uso es: ocio [enter] o bien: ocio html [enter] esta última opción te dará un enlace HTML
Recuerda que si tienes seleccionada la barra de direcciones del navegador automáticamente te la cambiará por la dirección obtenida.
Para tener las cosas mas sencillas con ubiquity cree una API simple, la cual si te interesa usarla desde cualquier otro lugar la encuentras en:
http://ocio.pecesama.net/api.php
Para que te regrese el enlace con formato HTML usa:
http://ocio.pecesama.net/api.php?type=html
Por último los feeds que esta usando esta sección son (si tienes más fuentes que recomiendes dejalas en los comentarios):