Todo site feito em ZF3 (incluindo o skeleton application) é organizado da maneira recomendada. Claro, você pode configurar seu aplicativo para usar um layout de uma pasta diferente, mas isso pode dificultar o suporte ao seu site por outras pessoas que não estão familiarizadas com essa estrutura de diretórios.
Vamos dar uma olhada na estrutura de pastas padrão (veja a imagem 2.1):
Como você pode ver a nossa pasta principal (que vamos chamar a partir de agora de APP_DIR
),
tem os seguintes arquivos:
composer.json
é um arquivo JSON com as configurações do Composer.
composer.lock
este arquivo contém informações sobre os pacotes instalados com o Composer.
composer.phar
é um arquivo PHP executável contendo o código
do Composer.
docker-compose.yml
e Dockerfile
arquivos auxiliares somente se você utilizar do Docker uma ferramenta que gerencia containers.
Neste livro nós não iremos abordar a utilização do Docker.
LICENSE.md
é um arquivo de texto que contem os dados da licença do ZF3 (Também disponível em
Introdução ao Zend Framework 3).
Não remova ou modifique esse arquivo, pois a licença do ZF3, não permite esse tipo de alteração.
phpunit.xml.dist
é um arquivo com a configuração do PHPUnit PHPUnit). Você pode utilizar este
arquivo para efetuar testes no seu site.
README.md
é um arquivo de texto que contem uma breve descrição do skeleton application.
Você pode substituir por um arquivo que contenha informações sobre seu site.
TODO.md
é um arquivo que pode ser removido sem problemas.
Vagrantfile
um arquivo que contém a configuração do Vagrant.
Você pode ignorar esse arquivo se não souber o que é o Vagrant. Neste livro, não usamos o Vagrant.
E também temos as sub-pastas:
Na pasta config
encontra-se a configuração do aplicativo.
Na pasta data
contém os dados que seu aplicativo pode criar; também contem o cache do Zend Framework
geralmente utilizado para aumentar a velocidade do ZF3.
Na pasta module
contém todos os módulos da sua aplicação. Nesse primeiro momento existe um único
módulo chamado Application
.
O Application
é o principal módulo do seu site.
Você pode adicionar outros módulos se quiser.
O assunto de módulos será tratado nós proximos capitulos.
A pasta vendor
contém blibiotecas que foram adquiridas através da internet, incluindo
os arquivos das blibiotecas do Zend Framework 3. Esta pasta geralmente é somente preenchida pelo o Composer.
O diretório public
contém dados publicamente acessíveis pelo usuário da web.Como você pode ver, os usuários
irá se comunicar com o index.php
, que também é chamado de ponto de entrada do seu site.
Na pasta public
contém os dados acessíveis pelo o usuário.
Como você pode ver os usuários irão se comunicar principalmente com o index.php
, que também é o ponto de entrada do seu site.
Seu site terá um único ponto de acesso, através do index.php, porque isso é mais seguro do que permitir qualquer pessoa acesse os seus arquivos PHP.
Dentro da pasta public
, você vai encontrar o arquivo .htaccess
oculto. Seu principal objetivo é definir
Regras de acesso a URL do seu site.
Na pasta public
contém varias sub-pastas que estão disponiveis publicamente para acesso dos usuários:
css
nessa pasta contém todos os arquivos CSS públicos e acessíveis do seu site;fonts
nessa pasta contém todos os arquivos fontes públicos e acessíveis do seu site;img
nessa pasta conteḿ todas as imagem públicas do seu site (.JPG, .PNG, .GIF, .ICO, etc.);js
nessa pasta contém todos os arquivos JS públicos e acessíveis do seu site;
Normalmente, os arquivos do jQuery são colocados aqui,
mas você também pode colocar seus próprios arquivos JavaScript também.O que é uma blibioteca Jquery?
jQuery é uma biblioteca JavaScript que foi criada para simplifica o HTML das páginas.O mecanismo do jQuery permite manipular eventos a certos elementos HTML, tornando é muito simples fazer suas páginas HTML interativas.
Como o Zend Skeleton Application é armazenado no GitHub, dentro das pastas você,
você pode encontrar o arquivo .gitignore
. Este arquivo é um controle de versão [GIT] (http://git-scm.com/)
de arquivos.Você pode ignorá-lo (ou até mesmo remover se não planeja armazenar seu código em um repositório GIT).