Layout de diretorios

Novembro 21, 2008 on 12:02 pm | In Informatica, php, Tutorial |

Bom, eu irei na verdade aqui dar sequencia ao meu modelo de aplicação MVC, se você não conhece pode dar uma lida neste Post, seguindo a ideia vamos agora partir da ideia do layout de diretorios para nossa aplicação, usando Url Amigaveis, primeiro temos que ter em mente que poderemos ter diversos App, ou aplicativos que funcionarão como modulos (ex: Admin, Cliente, Contas, RH e assim vai) e para cada modulo estará o modelo MVC ( ou MVP ).

Iremos separar também nossas libs (Library ou bibliotecas no bom português), para que possamos atualiza-las independente do sistema (modulos) que tivermos.

Iremos também separar uma pasta chamada var que serão as variaves do sistema, são arquivos que irão sendo atualizados mudados conforme o tempo de site (no meu caso os templates do smarty e outros arquivos como xml) e iremos separar os arquivos chamados publicos (que são aqueles arquivos onde as pessoas podem visualizar e roubar de você), no caso são arquivos JS, CSS, Imagens e coisas do genêro.

Então por enquanto teremos :

CODE:
  1. /app
  2. /lib
  3. /publico
  4. /var

Colocando modulos no app e pensando que teremos o modulo rais teremos em MVC a seguinte estrutura :

CODE:
  1. O acesso a estas pastas será travada no .htaccess para maior segurança
  2. /app/
  3. /app/config
  4. /app/controller
  5. /app/model
  6. /app/view
  7. -----> Exemplo modulo Admin
  8. /app/Admin
  9. /app/Admin/config
  10. /app/Admin/controller
  11. /app/Admin/model
  12. /app/Admin/view

No caso ainda no view utilizando um sistema de templates para separar codigo de tela, eu tenho mais duas pastas que irão separar mais codigo, em vez de construir inputs, selects, e alguns outros na tela com codigo, dou preferencia para buscar uma classe que possa criar para min e eu retornar o codigo pronto para o template, assim separando o que é um codigo contrutor.

CODE:
  1. /app/view/analizador <- arquivos que somente trazem dados para o view
  2. (arquivos so escritos em php, são contrutores)
  3. /app/view/helpers <- arquivos de carater padrão entre telas ( topo.tpl,
  4. banner.tpl, menu.tpl +++ )

Pensando agora no resto da estrutra, as bibliotecas ( /lib ) o que iremos ter ? No meu caso eu terei algumas bibliotecas suporte e principalmente aqui uma biblioteca (camada de persistência - Base de dados), veja como fica:

CODE:
  1. O acesso a estas pastas será travada no .htaccess para maior segurança
  2. /lib/
  3. /lib/commom <-- classes de uso comum durante todo o sistema (ex. classe envioMail(), Upload(), Conexao() )
  4. /lib/MDB2  <--  classe camada de persistência
  5. /lib/smarty
  6. /lib/a j a x

O layout da publico é super simples e podemos criar diversas regras no .htaccess para moderamos o uso desta estrutura

CODE:
  1. /publico
  2. /publico/images
  3. /publico/scripts
  4. /publico/styles

No meu caso a var que contém os dados de teamplates compilados e cache deles.

CODE:
  1. Estrutura para dados que possam ser alterados, também protegido por htaccess
  2. /var
  3. /var/tpl_cache
  4. /var/tpl_compiled

É isso ai pessoal, logo mais vou continuar escrevendo dos htaccess de cada pasta e do index para nos acessarmos tudo isso com um unico arquivo só. Ficaria muito grande esse index e access aqui neste mesmo texto, então ficamos para a próxima.


No Comments yet »

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


 

 Assine o feed