Archive for setembro, 2009

Vórtice PHP Framework – Introdução

setembro 21st, 2009

Assim como frameworks mais conhecidos, o Vórtice tem uma estrutura de pastas que visa organizar todo o sistema e facilitar na hora da reutilização de código. segue abaixo a estrutura:

1 - app
1.1 - classes
1.2 - controller
1.2 - model
1.3 - view
1.4 - error_docs
1.5 - i18n
1.6 - plugins
2 - core
3 - css
4 - js
5 - templates
5.1 - nome_do_seu_template
5.1.1 - css
5.1.2 - js

1 – App

Apesar do framework não exigir nenhuma configuração em ambientes Linux/Unix ele possui um arquivo config.php que é necessário ser usado em caso de instalação em um ambiente Windows para definir a pasta fisica e a pasta virtual do sistema. ainda na pasta app existem os arquivos app.php e funcoes.php, que podem ser utilizados para inicializar instâncias de bancos de dados, criar funções e fazer qualquer coisa que você venha a precisar globalmente no seu site. Aqui também existe o arquivo route.php onde você poderá criar rotas baseadas em expressões regulares, tem um exemplo comentado de como funciona no sistema de exemplo.

1.1 – classes

Essa é a pasta de helpers, coloque ai suas classes de Segurança, as que modificam o fluxo do framework e qualquer classe que você venha a precisar no seu sistema

1.2 – controller

Pasta onde ficam os controllers, o nome do arquivo deve ser: CarroController.php, contendo dentro uma classe CarroController extendondo a classe Controller do framework. cada metodo dessa classe será uma action.

1.2 – model

Modelos do sistema, cada model é constituido por dois arquivos: Carro.php e CarroDAO.php contendo cada um a respectiva classe dentro. A classe Carro guarda a classe de um unico objeto carro (pode extender a classe de framework DTO) e a classe CarroDAO (quepode extender a classe de framework DAO) contêm as operações relacionadas ao objeto Carro (insert, delete, list, etc)

1.3 – view

Views do sistemas, uma view é um arquivo .php que será colocado dentro do template após a execução (substituindo o comentario <!–conteudo–> dentro do framework). Cada view deve ser colocada em uma subpasta com o nome do controller que ela pertence: app/view/carro/listar.php e será carregada automaticamente após a action listar do controller carro.

1.4 – error_docs

Páginas de erro, no framework já vem dois modelos.

1.5 – i18n

Pasta onde ficam traduções do sistema (en.conf, pt.conf, jp.conf, etc). Futuramente eu escrevo um post só sobre isso.

1.6 – plugins

Nessa pasta ficam plugins, que são executados exclusivamente antes da página ser enviada ao navegador. Futuramente eu escrevo sobre ela também.

2 – core

Aqui fica o nucleo do framework, caso você tenha vários sistemas usando ele, é possível criar um link simbólico e usar apenas uma pasta para todos os sites.

3 – css

Arquivos CSS globais, que serão carregados para todos os templates

4 – js

Arquivos JS globais, assim como a pasta css

5 – templates

Templates do site, cada subpasta será um template e dentro será necessário um arquivo template.php com o html básico da página.

5.1.1 – css

Aqui ficam os arquivos CSS exclusivos desse template

5.1.2 – js

Arquivos JS exclusivos do template

Fica ai toda a estrutura, qualquer dúvida deixe um comentário.

Faça já o download e experimente: Projeto Vórtice PHP
Siga o vórtice no twitter: @vorticephp e acompanhe mais novidades seguindo @caferrari e @luanlmd

Vórtice PHP Framework – Apresentação

setembro 19th, 2009

Desde junho de 2008 eu e meus colegas do trabalho estamos desenvolvendo uma solução para usar nos sites do Governo do Tocantins e nos sistemas, como a gente tem problemas com a estrutura disponível (hardware!) decidimos criar um framework, que, além de agilizar nossa produção fosse extremamente rápido, consumisse o minimo de recursos possível e permitisse o reaproveitamento de código.

Com menos de 2 meses de desenvolvimento, nascia o Vórtice junto com um projeto inicial que nos direcionou inicialmente no desenvolvimento.

Dentre as diversas características do framework, as mais importantes são:

  • Velocidade;
  • Padrão MVC com Front Controller;
  • Rewrite de URL’s com suporte a regex;
  • Internacionalização com url’s únicas por idioma (queriamos que o google indexasse todas as línguas, ex: Jalapão);
  • Ferramentas para mensagens de erro eficientes, tanto com ajax quanto sem;
  • O mínimo de configuração possível (no linux não exige nenhuma configuração!);
  • Fosse possível se conectar em multiplos bancos de dados;
  • PDO!
  • Pronto para funcionar com Ajax;
  • Nos desse algo para trabalhar com versões mobile dos sites;
  • Renderização em HTML, Json, XML, phpserialize, etc..

Veja as demais características no site do projeto.

O projeto quase não foi divulgado devido a falta de Documentação, porém, hoje, como ele está extremamente estável decidi criar este post para apresentá-lo. caso você queira testar, é só baixar e brincar. Ele já vem com um projeto de exemplo que ajuda a ter uma noção legal das funcionalidades.

Para finalizar alguns projetos usando ele:

Aguardo comentários.