lunes, mayo 21, 2012

Instalación de Phreeze: Framework MVC para PHP

Desde hace poco estoy desempolvando mis destrezas programando PHP. Estaba entre arreglar mi generador de código (algún día hablaré del mítico DbCommand y su generador de código) y crear unas plantillas Velocity para generar código  PHP o encontrar un Framework FRB (Fácil, Rápido y Bonito)  que me cree los CRUDs que necesito y me permita seguir usándolo sin demasiada dificultad (por eso lo fácil).

No puedo decir que evalué, sino más bien miré, varios Frameworks. CodeIgniter, Zend, CakePHP, y varios otros algo más desconocidos, todos son muy muy completos, pero son tan completos como complejos. Yo buscaba algo fácil. Y llegué a Phreeze.

Phreeze me convención en un video de 3 minutos. La aplicación genera un CRUD completo para bases de datos MySQL con sólo algunos clicks. Me dejé seducir por el video ya que Phreeze es bastante complejo y hay mucho de magia detrás.
A punta de prueba y error logré decifrar como instalarlo en un entorno "no preparado". Hay que decirlo la documentación es completa, pero hasta hace poco carecía de tutoriales, y no es precisamente un Framework para enfrentarse sin un buen ejemplo, o un buen tutorial (personalmente prefiero los 2dos).

Requerimientos previos:

  •  Apache
  •  MySQL, sino no tiene sentido haberlo bajado...
  •  PHP, sino no va a funcionar
  •  PEAR  para PHP
  •  Habilitar mod_rewrite en la configuración del Apache

En mi caso yo uso Ubuntu, así que la instalación la hice usando apt-get y Synaptic (ya se que el nuevo Software Center supuestamente es más simple, pero yo soy de la vieja escuela).

La habilitación de mod_rewrite tiene sus "ques":

  • Se debe editar el archivo de configuración de sitios de Apache reemplazando donde dice
    AllowOverride None
    por
    AllowOverride All
    para que  los directorios que deban ser afectados por este módulo.
    En Ubuntu el archivo se encuentra en:
    /etc/apache2/sites-enabled/000-default
  • Habilitar el módulo mod_rewrite copiando el archivo a la carpeta de módulos habilitados (comando en una sola línea):
    cp /etc/apache2/mods-available/rewrite.load/etc/apache2/mods-enabled/rewrite.load
  • Reiniciar Apache:
    service apache2 restart


Supongo que está de sobra decir que los comandos se ejecutan en modo root ( sudo su - , o derechamente con sudo) .


Instalación:

  • Bajar el archivo comprimido desde la página oficial y descomprimir en alguna carpeta que sea visible desde su servidor web, por ejemplo /var/www/phreeze (de hecho llamarla phreeze es lo recomendado).
  • Ajustar los permisos para la carpeta temporal de Phreeze, en 
    /var/www/phreeze/builder/temp
    ejecutando
    chmod -R 777 /var/www/phreeze/builder/temp
    Los permisos 777 suelen ser  "complicados", pero claramente no van a asignar todos los permisos en un servidor de producción.
    ¡HÁGANLO SOLAMENTE EN MÁQUINAS DE DESARROLLO NO EXPUESTAS!
    (Sí, les grité, pero fue sólo para asegurarme que entienden esto.)
  • Verificar que funcione visitando http://localhost/phreeze/builder
  • Generar sus CRUDs.

Instalación de los CRUDs:

  • Descompriman el archivo que les generó Phreeze en alguna carpeta. Procuren  respetar los parámetros de configuración que dieron en el builder.
  • Ajusten los permisos de la aplicación a 755
    chmod -R 755 *
  • Cambien los permisos de la carpeta template_c a 777
    chmod -R 777 templatec
    Esto es para permitir que las plantillas puedan ser compiladas a la carpeta local.
    OJO
    : Yo uso Smarty, Phreeze permite usar Smarty o Savant como motores de plantillas (templates), la carpeta template_c es de Smarty, si usan Savant es otra carpeta.

Los comandos los ejecutan en la carpeta donde descomprimieron su aplicación.

Creo que con eso tienen para entretenerse. Les recomiendo que vean los tutoriales en video de Phreeze, son muy ilustrativos de como se usa la aplicación.