SIFO, el framework de PHP5 para aplicaciones del mundo real
¿Qué es SIFO?
SIFO es un framework que surge de la necesidad de reaprovechar todas las soluciones "definitivas" que se iban descubriendo en el trabajo del día a día, y que se podian utilizar en más proyectos.
Con soluciones "definitivas" me refiero a las soluciones que despues de haber sido probadas en el mundo real han demostrado ser la mejor opción (cómo implementar la internacionalización, el trabajo en multiples entornos, la cache, el debug, etc...)
Lleva ya funcionando un tiempo en algunos sitios, tanto sitios de mucho trafico con multiples servidores cómo en sitios más modestos, asi que su practicidad y flexibilidad está más que probada.
SIFO contiene un montón de librerias y clases que resuelven de forma sencilla los problemas básicos que te vas a encontrar en el desarrollo de un sitio web, lo que te permite centrar tu atención en resolver la lógica de tu negocio.
Además es gratuito!
Concretemos... ¿qué me ofrece SIFO?
Patron MVC
SIFO utliiza el patrón MVC (Modelo-Vista-Controlador) para separar tu proyecto en 3 capas:

- Modelos: Contienen la lógica de tu negocio. De donde se obtienen los datos (consultas a la base de datos)
- Vistas: Son los templates HTML con un poco de lógica (iteraciones). Es la capa de presentación de tu web. Por defecto se utiliza Smarty como sistema de plantillas
- Controladores: Combinan las 2 capas anteriores con la lógica necesaria
Múltiples entornos de trabajo
A través del fichero config/domains.config.php podrás configurar tu aplicación para que se comporte diferente segun el entorno (dominio) en el que estés. Lo normal es utilizar al menos 2 dominios: Uno para producción [mycoolsite.com] y otro local para desarrollo [mycoolsite.local]
Entre otras cosas, puedes configurar para cada entorno:
- Mostrar/Ocultar el debug
- Los idiomas que acepta tu aplicación
- Los datos de acceso a los diferentes servicios, comandos de inicio, configuraciones master/slave (mysql)
Routing
Cuando escribes una URL hay un mapeo que relaciona esa dirección con el controlador que debe contestar. Este mapeo está en el archivo config/router.config.php.
Si quieres utilizar URL's traducidas puedes utilizar los archivos config/router_xx_XX.config.php. (donde xx_XX es el country code).
Debug potente
El debug de SIFO te muestra un monton de información interesante sobre tu aplicacion:
- Benchmark: Analisis completo de los tiempos de ejecución por archivo y por metodo
- Parámetros que recibe cada controlador
- Valores que recibe cada template (smarty)
- Queries ejecutadas por la Base de Datos
- Datos almacenados en la sesion (y poder hacer
kill session) - Datos almacenados en las cookies del usuario
- Control de la cache
Con SIFO podrá hacer tu proyecto multilenguaje de una forma sencilla. Incluso tiene herramientas de traducción (basadas en archivos de configuracion o en bases de datos) que puedes utilizar para que tus colegas "no-programadores" te ayuden a introducir las traducciones.
Todos los templates de smarty vienen con los plugins i18n que te permiten hacer tus templates en un único lenguaje e indicar qué frases deben ser traducidas.
Herencia entre proyectos
La herencia entre proyectos te permitirá crear varios proyectos (instancias) basados en un "padre".
Asi, estos proyectos heredaran del "padre" sus configuraciones, templates controladores, modelos, librerias... con la posibilidad de sobreescribir, extender o limitar estas funcionalidades heredadas.
Y mucho mas...
- Lazy loading (carga sólo las clases que necesites)
- Multiples Bases de Datos (Redis, Oracle, MySQL...)
- Crons en PHP desde Linea de Comandos
- Distinción entre contenido Dinámico y Estático (utiliza un CDN para tus imagenes, CSS...)
- Un montón de clases útiles (Geolocalización, Facebook, Twitter, Sphinx, Amazon...)
- Extensible (Utiliza tus propias librerias o clases)
- Y mas...
Me has convencido... Quiero probarlo ya!!
Vale, vale.... Pues hay varias formas de conseguir tu copia de SIFO
- Desde Github
- Desde Google Code
¿Que te ha parecido este framework? ¿Lo conocias? ¿Lo has probado? ¿Conoces alguno similar?
Esperamos vuestros comentarios
- ¿Te gustó el post? »
- Vótalo (30)
- Añádelo a tus favoritos (1)





Comentarios sobre SIFO, el framework de PHP5 para aplicaciones del mundo real
Esta semana se liberó el primer framework SIFO para Javascript. https://github.com/beCodeMyFriend/Cuore.js
Creado por @pasku
buenos dias, saben de algun tutorial de sifo para windows, tengo algunos problemas con el virtual host , apache pues no me corre el framework, si tienen alguna documentacion adicional me avisan por favor, me interesa aprender este SEO framework, realmente creo que es bien util...
saludo cordiales
Hola Marco Antonio, toda la documentación disponible sobre SIFO la puedes encontrar en http://sifo.me/
Tambien puedes preguntar en el Grupo de Google de SIFO http://groups.google.com/group/sifophp
Saludos!!
ho Muchas Gracias Juanma Garrido, espero que el grupo de google encuentre algunas respuestas, ya que no encuentro documentación de SIFO en windows con xampp...
saludos cordiales