Divisão hierárquica parcial com base na estrutura Yii2
controlador
- Basta usar a camada de transmissão transparente como um parâmetro, reencapsular a classe base (alguma autenticação, token e outras funções são adicionadas posteriormente)
Divida a camada do modelo em três camadas: Serviço (Camada de Serviço), BO (Data Object/Processando Camada), DAO (Camada de Persistência)
- Serviço: lida principalmente com a lógica de negócios complexa. Um controlador no módulo corresponde a um subdiretório de serviço, e um método corresponde a uma classe, que pode satisfazer a independência e coesão da lógica de negócios complexa.
- BO: É principalmente responsável pela obtenção de dados, como obter dados de banco de dados, dados de cache, dados de interface externa, processamento de dados de embalagem e design segue o princípio da singularidade do método.
- DAO: É principalmente responsável pela persistência dos dados. Não existe código de processamento de lógica de negócios na operação do banco de dados. É apenas adicionar, excluir, modificar e verificar operações. Pode permitir um pouco de formatação de dados.
Re-encapsulamento de classes de configuração
- O ambiente ambiente que não usa YII está atualmente dividido em três ambientes: dev, teste e produto. Os três ambientes são independentes. Eles são usados diretamente para adicionar depuração e run_mode no php.ini no ambiente atual do PHP em execução. Isso é usado para decidir se deve ativar o modo de depuração e decidir qual arquivo de configuração do ambiente usar.
Reencapsulação de aulas de manuseio de exceção
- Ele tem como alvo principalmente a convergência de exceções que ocorrem na lógica de negócios e gerencia códigos de exceção e informações de exceção de maneira unificada.
REPAGAGEM CONFIGURAÇÃO CONSTANTE
- Converge as constantes espalhadas em seus respectivos códigos de negócios em uma constante e defina a classe constante de acordo com o bloco de negócios.
Módulo SQLMAP adicionado
- Todas as instruções SQL devem ser definidas no SQLMAP e operadas com o processamento de comandos no DB reencapsulado. A maior vantagem do uso do SQLMAP é facilitar o gerenciamento e a auditoria do SQL e reduzir o arrasto no desempenho do aplicativo do SQL complexo.
Módulo de cache adicionado
- Todas as instruções de chave do cache devem ser definidas no cache e operar o cache em conjunto com a reencapsulação do processamento de cache na biblioteca. A maior vantagem do uso do SQLMAP é facilitar as opções de chave de cache e gerenciamento de tempo, reduzir os principais conflitos e impedir a penetração de cache e as avalanches.
Módulo de verificação de parâmetros adicionado
- De acordo com a lógica de negócios, alguns dados de negócios de entrada podem ser verificados, como necessidade, comprimento, etc., e a verificação da função anônima também pode ser transmitida.
Adicionado biblioteca da biblioteca
- Principalmente alguns componentes da ferramenta de processamento
Reescrever a resposta
- Projetado completamente de acordo com o RESTAPI, todo o retorno é unificado como JSON
Camada de middleware adicionada
- Execute as operações necessárias para configuração de acordo com o módulo, como autenticação, filtragem e carregamento anti-ataque de middleware, como carregamento sob demanda
Fila de mensagens adicionada/fila de mensagens atrasada
- Integre o Beanstalk como um serviço de fila de mensagens e suporta filas de mensagens atrasadas
Ferramentas de log de reembalagem
- Use as mensagens para processar requisitos simultâneos de escrita de log de maneira assíncrona. Os registros de produção podem ser usados em diferentes aplicações. Vários processos podem ser abertos ao mesmo tempo usando um servidor para processar a gravação de logs.
Pesquisa de texto completo adicionado
- Sincronize MySQL com base no Elasticsearch para fazer o serviço de pesquisa de texto completo
Todas as alterações acima não envolvem as alterações da biblioteca principal do YII2, para que o YII2 possa ser atualizado normalmente em princípio. Além disso, todos os componentes principais do YII2 também podem ser usados normalmente. Recomenda -se usá -los no nível redefinido para permitir a dissociação de negócios e a convergência de negócios.
A referência de configuração Demo.run_mode = dev/test/Prod Demo.debug = true corresponde ao desenvolvimento, teste e ambientes on -line, respectivamente. Observe que a depuração é falsa no modo Prod.