Frix – Framework em PHP

Coloquei no meu Github o Frix, um framework em PHP baseado no Django (em Python).

Sempre vi um pouco de dificuldade em vender projetos com Django, os clientes costumam ter uma hospedagem que não suporta Python e oferecem resistência em trocar, ou têm receio de investir em uma solução que usa uma linguagem “exótica”. Pensando nisso, há algum tempo atrás desenvolvi o Frix, tentando aplicar algumas boas idéias do Django no PHP.

O projeto foi pouco utilizado e ficou encostado por muito tempo, mas como acredito que existem coisas que podem ser aproveitadas, resolvi liberar o código antes que caísse no meu próprio esquecimento.

Algumas das principais features:

  • Admin (scaffolding): criar, listar, editar e remover objetos:
    • suporte a hierarquia (árvores);
    • ordenação manual;
    • edição de objetos relacionados (inline);
  • Mapeador objeto-relacional: modelos de dados, abstração de consultas:
    • com suporte a MySQL;
  • Roteador de URLs com expressões regulares;
  • Sistema de templates em PHP puro:
    • suporte a herança e blocos;
    • aviso: a performance deixa a desejar;
  • Tratamento de Erros;

Para testar:

  1. clonar o projeto:
  2. git clone git://github.com/ricobl/frix.git
  3. criar o arquivo index.php:
  4. <?
    // Replace the path according to your setup
    require_once('path/to/frix/main.php');
    Frix::start();
    ?>
  5. criar o arquivo config.php:
  6. <?
    $config['DB_URL'] = 'mysql://user:pass@localhost/database';
    ?>
  7. criar o banco de dados no mysql, usando os SQLs das apps para criar as tabelas necessárias.

De qualquer forma, não pretendo manter o projeto, faz algum tempo que não trabalho com PHP e já não o acho mais tão divertido. Um dos motivos que me fez deixá-lo de lado foi a fraca orientação à objetos e dificuldade de instrospecção do PHP.

Gostaria de ouvir as opiniões sobre o framework e mais ainda se alguém achar algum uso para ele ou algum de seus módulos.