Avisar de contenido inadecuado

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:

 TAGS:

  • 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

 TAGS:

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

{
}
{
}

Comentarios 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

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. ;-)
Tiene muy buena pinta ese framework, como siempre, para simplificar el trabajo a los programadores!! Gracias por el artículo.

Deja tu comentario SIFO, el framework de PHP5 para aplicaciones del mundo real

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

Avatar de usuario Tu nombre