Hoje vou mostrar como estruturar uma aplicação usando Zend Framework 1.9.6 de forma com que ela tenha três(3) módulos, são eles:
- admin (Administração)
- default (Site/Homepage)
- app (app)
Visualmente nossa aplicação ficará com a seguinte estrutura:
Como exemplo, foi criado o projeto sample_project onde defimos a estrutura da aplicação.
Dentro do projeto, temos a pasta application, que é onde fica toda a aplicação, regras de negócio, controlers, views, classes de abstração de dados e etc. Dentro dela não se aplica imagens nem arquivos de css e javascript, pois todos devem estar dentro de assets/css … /javascript.
Dentro da aplicação temos a pasta configs onde nela existe o application.ini, que é onde fica todas as configurações inicias da nossa aplicação, onde definimos a URL base, caminhos dos módulos, controllers, views e etc.
A pasta models (modelos) é onde fica nossas classes de abstração de dados, ou seja, onde manipulamos os dados do banco, insert, update, select e delete, onde definimos também os relacionamentos entre as tabelas do banco dados. É aconselhável também a criação de um model para cada tabela criada no banco de dados e que haja necessidade de manipulação dinâmica.
Chegamos agora na pasta modules (módulos), que por sua vez contém os módulos que iremos utilizar na nossa aplicação. Ela separa os módulos admin, app e default de forma com que cada um seja responsável por seus controllers, layout e views.
Os controllers são os responsáveis por separar toda a lógica da parte visual da aplicação, são a cabeça da estrutura MVC, busca os dados no model, o trata e o devolve para uma view onde são exibidos os dados.
A pasta layouts contém o arquivo .phtml de exibição do layout, nele deve conter toda a estrutura (html) do layout do módulo em que se está. Obs: o nome deste arquivo deve sempre ser o nome do módulo a que ele pertence.
As views são as responsáveis por exibir os dados passados pelos controllers, formatados e da forma que se deseja.
A pasta views/helpers contém arquivos que poderão ser reutilizados por todas as views.
Na pasta scripts contém uma pasta para cada controller e um arquivo .phtml para cada action desse controller. Todo controller deve conter uma view, senão acarretará erro na aplicação.
o arquivo Bootstrap.php é o coração da nossa aplicação, onde startamos funções essencias na nossa aplicação como autoloader, plugins e conexão com banco de dados.
A pasta library é a nossa biblioteca de arquivos do Zend, e também onde podemos criar nossas próprias bibliotecas, como é o caso da pasta Sample.
www, esta é a nossa pasta pública na web, ou seja, que ficará visivel para o usuário. É dentro dela que inserimos nossos arquivos de css, javascript e imagens, como no exemplo situados dentro da pasta assets. Também temos dentro dela a pasta de upload onde será o caminho do arquivos “upados” para nossa aplicação.
No arquivo .htaccess configuramos alguns diretórios e redirecionamentos para o servidor apache, no momento não é necessário modifica-lo, pois ele já vem pré configurado ao criar a aplicação usando o Zend_Tools.
E finalmente chegamos ao nosso index.php, que nada mais nada menos é o responsável por juntar tudo sitado anteriormente e exibir para gente na telinha. É nele que se “starta” toda a aplicação usando o método $application->bootstrap()->run();
Com minha experiência en desenvolvimento web e zend, acredito que essa seja a melhor forma para pensar, começar e estruturar uma aplicação web de respeito e muita segurança.
Baixe a estrutura e comece agora mesmo a desenvolver sua app.
Sample Project (10,7 KiB, 1.276 downloads )
Abs