en Frameworks/Librerias

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

 TAGS:

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

Multilenguaje

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.

 TAGS:

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

Si no quieres complicarte la vida con sistemas de control de versiones puedes bajarte un archivo comprimido con todo el código de SIFO pero ¡OJO!… no contiene la ultima
versión.
Toda la info y documentación (actual y futura) sobre SIFO la puedes encontrar en su sitio oficial

¿Que te ha parecido este framework? ¿Lo conocias? ¿Lo has probado? ¿Conoces alguno similar?

Esperamos vuestros comentarios

Posts Relacionados

Limpieza de floats en Internet Explorer 7 Durante los últimos meses, Microsoft nos ha tenido en vilo ( sobretodo a los desarrolladores web ), pendientes del soporte a la especificación de CS...
Cómo evitar problemas con la cache del navegador En esta ocasión veremos como evitar un problema con el que seguro os habréis topado en más de una ocasión: El navegador no detecta un cambio que h...
Coda: editor de código todo-en-uno para Mac Coda es un editor de texto orientado al desarrollo web que integra, además, un completo gestor de sites, funciones de un cliente FTP, un cliente SS...
  • http://github.com/tcorral Tomás Corral Casas

    Esta semana se liberó el primer framework SIFO para Javascript. https://github.com/beCodeMyFriend/Cuore.js’ defer=’defer

    Creado por @pasku

  • http://perubinario.org Marco Antonio

    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

  • http://www.covertura.com juanmaguitar

    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!!

  • http://perubinario.org Marco Antonio

    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

  • http://www.zonaescorts.es/escortsmalaga escorts malaga

    Vamos a probar esto del SIFO pero me da que necesitaremos más que este post para implantarlo correctamente… jeejej

    No obstante, voy a intentarlo. 😉

  • http://www.digitalbit.es digitalbit

    Tiene muy buena pinta ese framework, como siempre, para simplificar el trabajo a los programadores!! Gracias por el artículo.