PHP Classes

File: documentation/README.txt

Recommend this page to a friend!
  Classes of Fernando Val   Springy   documentation/README.txt   Download  
File: documentation/README.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: Springy
Microframework for Web application development
Author: By
Last change:
Date: 1 month ago
Size: 14,652 bytes
 

Contents

Class file image Download
??Springy Framework Copyright (c) 2007 Fernando Val Active developer team: Fernando Val - fernando.val@gmail.com ### Documenta??o ### - Sobre o framework: O Springy foi projetado para ser um framework de desenvolvimentos de aplica??es web em PHP no formato MVC. Ele ? uma evolu??o do FVAL PHP Framework, desenvolvido por Fernando Val e Lucas Cardozo. - O sistema MVC deste framework: Os models (modelos) nada mais s?o que classes para tratamento de dados ou fun??es gen?ricas ou de uso comum que n?o fazem parte do cerne do framework. Nesse framework os models s?o tratados simplesmento como "classes propriet?rias" e ficam armazenadas no diter?rio de classes propriet?rias (ver estrutura de diret?rios). O framework possui uma classe de tratamento de bancos da qual voc? poder? herdar suas classes para tratamento de tabelas em banco, simplesmente crie suas classes extendendo a classe Springy\Model. As views (vis?es), que s?o o resultado visual do processamento, s?o tratadas como templates (modelos) e o sistema de gerenciamento de templates adotado nesse framework ? a excelente biblioteca Smarty (http://smarty.net). Os templates s?o armazenados no diret?rio de templates que pode ter m?ltiplos n?veis de acordo com a necessidade do projeto. As controladoras s?o os respons?veis pelo processamento espec?fico de cada funcionalidade da aplica??o. As controladoras s?o armazenadas no diret?rio de controladoras que, assim como o diret?rio de templates, pode conter m?ltiplos n?veis para atender ?s necessidades do projeto. - A estrurura de diret?rios do framework: Como todo framework voltado para o desemvolvimento de aplica??es para web, o diret?rio principal deste framework, ? o diret?rio raiz do site que, no caso do servidor web Apache (http://www.apache.org) ? chamado de DOCUMENT_ROOT. Dentro do diret?rio principal, est? o script de inicializa??o e respons?vel pela carga da controladora adequado, al?m da localiza??o e carga das classes propriet?rias e classes do framework que venham a ser utilizadas pela aplica??o, que chamaremos simplemente de "inicializador". No pacote de distribui??o, o inicializador vem denominado _Main.php. Existe um arquivo index.php, que normalmente ? chamado pelo servidor web, mas este script simplesmente mata a execu??o do PHP e retorna uma mensagem de acesso inv?lido. Isso foi feito pensando que voc? ir? trabalhar com MOD_REWRITE do Apache. Por esse motivo existe um arquivo .htaccess no diret?rio raiz da aplica??o. T?o importante quando o inicializador ? o script sysconf.php. Este script ? o primeiro a ser carregado pelo inicializador e sua fun??o ? definir as configura??es principais do cerne da aplica??o. A seguir ser? explicada a fun??o de cada um dos diret?rios do framework e, para isso, ser? utilizado o nome usado no pacote de distribui??o, pois nada impede que a equipe de desemvolvedores os altere e regonfigure o framework. Lista padr?o de diret?rios do framework: "app" : ? onde est?o os subdiret?rios do arquivos da aplica??o. Por quest?es de seguram?a, recomenda-se que este diret?rio esteja fora da ?rvore naveg?vel do sistema, se seu servidor web permitir o acesso a arquivos fora da ?rvore do www. Neste caso ? necess?rio ajustar o caminho no arquivo sysconf.php; "app/classes" : diret?rio onde s?o armazenadas as classes propriet?rias; "app/controllers" : diret?rio onde as controladoras s?o armazenados (pode conter subdiret?rios); "app/templates" : diret?rio onde s?o asmazenados os templates (pode conter subdiret?rios); "springy" : diret?rio onde est?o armazenados as classes e bibliotecas do framework; "conf" : diret?rio onde s?o armazenados os scripts de configura??o do sistema; "var/cached" : diret?rio onde a classe de templates ir? salvar as p?ginas cacheadas. "var/compiled" : diret?rio onde s?o asmazenados os templates compilados (o PHP deve ter direito de escrita dentro dele); "vendor" : diret?rio onde est?o armazenados as classes e bibliotecas de terceiros; "www" : ? o diret?rio onde est? o inicializador e o sysconf.php. Em alguns ambientes essa pasta tem nomes como httpdocs ou public_html; - Como o sistema elege um script de controle (controladora): Para determinar qual script de controle ser? carregado e executado, o sistema se baseia na URI recebida. Ele desmembra o URI em segmentos e varre o diret?rio das controladoras, come?ando pelo primeiro segmento do URI, da seguinte forma at? que a primeira condi??o se revele verdadeira: 1) H? um script PHP de nome igual ao segmento:p, acrescido do sufixo ".page"; 2) H? um subdiret?rio de nome igual ao segmento e dentro dele h? um script denominado "index.page" e n?o mais segmentos. Se nenhuma das condi??es acima se mostrarem verdadeiras e houver um subdiret?rio de nome igual ao segmento e houver mais algum segmento, o sistema passa para o pr?ximo segmento e refaz as verifica??es acima. Isso repete at? que um script seja elegido controladora ou esgotem-se os segmentos do URI. Caso o sistema tenha eleito uma controladora, ele a carrega para a mem?ria e a partir da? faz as verifica??es de exe??o da controladora (veja o pr?ximo cap?tulo). N?o havendo uma controladora eleita, a p?gia de erro 404 ? mostrada. - Script de inicializa??o (bootstrap): Antes de construir a controladora e fazer a chamada de seus m?todos, o framework verifica a exist?ncia do script bootstrap.php, no diret?rio da aplica??o. Caso esse arquivo exista, ser? carregado e executado. Este script serve como um inicializador que sempre ? executado antes de qualquer controladora ser carregada. - A controladora e seus m?todos: Eleito a controladora, o sistema cria uma classe com seu nome (o script ? carregado automaticamente pelo sistema). Consequentemente o PHP ir? executar o m?todo construtor da classe, que poder? ser usado pela equipe de desenvolvimento para inicializar a vari?veis ou at? mesmo executar a principal a??o da controladora, caso este n?o possua um m?todo para o tratamento do segmento de URI seguinte (como veremos a seguir). Tendo sucesso ao carregar a controladora, o sistema verifica se h? segmento de URI seguinte e em caso afirmativo, busca por um m?todo de nome igual a este segmento. Havendo este m?doto, o executa. Caso a condi??o anterior n?o aconte?a, o sistema procura pelo m?todo _default e o executa, se existir. - Fim do processamento: Ap?s os m?todos da controladora terminarem sua execu??o e devolverem o controle para o inicializador, este faz os tratamentos finais e encerra a aplica??o. Est? previsto para uma vers?o futura do framework o desenvolvimento de um hook de finaliza??o a ser executado antes do sistema terminar. - A biblioteca de classes: O framework j? possuiu uma s?rie de classes que podem ser utilizadas pela equipe de programadores a fim de facilitar e agilizar o desenvolvimento do projeto. Para uma listagem completa das classes da biblioteca, acesse a documenta??o do framework no seguinte enrede?o: http://framework.fval.net.br - Direitos Autorais e Propriedade Intelectual: Este framework ? distribu?do sob licen?a MIT. Para detalhes de como utilizar esse framework, entre em contato com os autores. - Hist?rico: Veja o arquivo history.txt