Yii - Estrutura do Aplicativo
Existe apenas uma pasta na base de código geral que está publicamente disponível para o servidor da web. É o diretório da web. Outras pastas fora do diretório raiz da web estão fora do alcance do servidor web.
Note - Todas as dependências do projeto estão localizadas no composer.jsonArquivo. O Yii2 tem alguns pacotes importantes que já estão incluídos em seu projeto pelo Composer. Esses pacotes são os seguintes -
- Gii - A ferramenta geradora de código
- O console de depuração
- A estrutura de teste Codeception
- A biblioteca SwiftMailer
- A biblioteca de IU do Twitter Bootstrap
Os primeiros três pacotes são úteis apenas no ambiente de desenvolvimento.
A estrutura de aplicativos do Yii2 é precisa e clara. Ele contém as seguintes pastas -
Assets - Esta pasta inclui todos os arquivos .js e .css referenciados na página da web.
Commands - Esta pasta inclui os controladores que podem ser usados a partir do terminal.
Config - Esta pasta contém config arquivos para gerenciar bancos de dados, aplicativos e parâmetros de aplicativos.
Mail - Esta pasta inclui o layout de correio.
Models - Esta pasta inclui os modelos usados no aplicativo.
Runtime - Esta pasta é para armazenar dados de tempo de execução.
Tests - Esta pasta inclui todos os testes (aceitação, unidade, funcional).
Vendor - Esta pasta contém todos os pacotes de terceiros gerenciados pelo Composer.
Views- Esta pasta é para visualizações, que são exibidas pelos controladores. A pasta de layout é um modelo de página.
Web - O ponto de entrada da web.
Estrutura da Aplicação
A seguir está a representação esquemática da estrutura do aplicativo.
Yii2 - Objetos
A lista a seguir contém todos os objetos do Yii2 -
Modelos, visualizações e controladores
Os modelos são para representação de dados (geralmente do banco de dados). Exibir são para exibir os dados. Os controladores servem para processar solicitações e gerar respostas.
Componentes
Para criar uma funcionalidade reutilizável, o usuário pode escrever seus próprios componentes. Os componentes são apenas objetos que contêm lógica. Por exemplo, um componente pode ser um conversor de peso.
Componentes do aplicativo
São objetos instanciados apenas uma vez em toda a aplicação. A principal diferença entre componentes e componentes de aplicativo é que o último pode ter apenas uma instância em todo o aplicativo.
Widgets
Widgets são objetos reutilizáveis que contêm código lógico e de renderização. Um widget pode ser, por exemplo, um controle deslizante de galeria.
Filtros
Filtros são objetos executados antes ou depois da execução das ações do Controlador.
Módulos
Você pode considerar Módulos como subapps reutilizáveis, contendo Modelos, Visualizações, Controladores e assim por diante.
Extensões
Extensões são pacotes que podem ser gerenciados pelo Composer.