
A estrutura do HA é a estrutura PHP 7.1 para profissionais com digitação estrita. É uma estrutura verdadeiramente flexível sem lastro e é baseada em interfaces e algumas instâncias predefinidas que podem ser alteradas a qualquer momento. Essa estrutura é um pacote de fornecedores instalável via compositor com uma pequena funcionalidade obrigatória padrão que coloca qualquer componente para atender aos requisitos de arquitetura orientados a serviços no nível do código. E você pode adicionar tudo a esse conceito, o que você precisa - pacotes personalizados, ORM personalizado, drivers personalizados ...
A Arquitetura da estrutura é baseada no tipo de acesso: a lógica do aplicativo é estritamente separada do método de abordagem e do método de acesso (como aplicativo HTTP, aplicativo API REST, página móvel, site, console, ...).
Leia a documentação da estrutura para obter mais detalhes.
Instalação
A estrutura pode ser instalada via esqueleto do projeto HA. O Framework é apenas o pacote compositor e requer bootstrap deste esqueleto simples.
Destaques da estrutura
- Com base no PHP 7.1
- Sempre digitando rigorosa, tudo tem interface, tudo também possui digitação escalar e digitação de valor de retorno (reduzido automaticamente> 50% desenvolvedores bugs)
- SEO pronto (roteamento extra nos casos, quando o MVC é ruim)
- Manuseio preciso HTTP (controlar os cabeçalhos, verificação de métodos de solicitação, ...)
- Pronto para várias fontes de dados (suporte muito bom para várias instâncias do mesmo tipo e também diferente tipo de drivers)
- Operações de IO de dados em cascata (por exemplo, grava no SQL, Elasticsearch, cache vs. leia em cache, elasticsearch, sql)
- ORM padrão não implementado, a manipulação com dados está aberta (podemos ter objetos muito complexos nos quais os componentes são recuperados de outras fontes de dados que os dados primários)
- Suporte extremo de IDE (tudo está preenchido automaticamente, por exemplo, em PHP Storm )
- Código leve e sempre reutilizável (sem pacotes inúteis na funcionalidade principal)
- Com base em interfaces (tudo pode ser alterado ou estendido sem reescritas de código grandes)
- Tudo está por exemplo, em nenhum lugar as chamadas estáticas estão sendo usadas (injeção de dependência muito boa)
- baixa conspursão de memória
- Coleções de modelos com proteção de tipo (por exemplo, categoria não pôde ser adicionada à coleta de produtos)
- Modelo de propriedade TypehInting
- O acesso às propriedades do modelo é insensível ao caso e CamelCase/Dash_Case insensível (muito útil para os casos em que os campos de banco de dados são propriedades de Dash_cased e Camelcased, etc.)
- A estrutura do aplicativo é independente do uso (a mesma funcionalidade com diferentes métodos de acesso e renderização, como API, página da web, página móvel, acesso ao shell, ...; Projeto não é apenas um site, o webiste pode ser apenas uma pequena parte do nosso projeto)
- Versão da funcionalidade (o mesmo projeto pode funcionar com classes de versão por meio do ambiente)
- Tudo pode ser configurado em arquivos de configuração e o aplicativo é construído a partir do arquivo de configuração (funciona da mesma forma que o docker-compose.yml )
- String simulada [], int [], float [], Bool [] Coleções para melhor verificação do tipo de matriz no PHP