000 — Pacotes
O time do Yii3 dividiu o framework em vários pacotes que seguem os acordos abaixo.
Em todos os pacotes, o nome do repositório no GitHub corresponde exatamente ao nome do pacote no Packagist.
Para ver a lista completa de pacotes e o status de build de cada um, consulte a página de status em yiiframework.com.
Pacotes específicos do Yii (framework e extensões)
- nomeados como
yiisoft/yii-somethingou de forma mais específica:yii-type-something, por exemplo:- módulos:
yii-module-users,yii-module-pages - temas:
yii-theme-adminlte,yii-theme-hyde - widgets:
yii-widget-datepicker - ...
- módulos:
- intitulados como "Yii Framework ..."
- podem ter quaisquer dependências e código específico do Yii
Pacotes de uso geral (bibliotecas)
- você pode usá-los independentemente do Yii Framework
- nomeados como
yiisoft/something, sem o prefixo yii - intitulados como "Yii ..."
- não podem ter dependências de nenhum pacote específico do Yii
- devem ter o menor número possível de dependências
Configurações e padrões
O que segue se aplica tanto aos pacotes específicos do Yii quanto aos pacotes de uso geral:
- O pacote pode ter um diretório
configcom padrões específicos do Yii. - O pacote pode ter "config-plugin" na seção "extra" do
composer.json. - O pacote não pode ter, na seção
requiredocomposer.json, dependências usadas apenas emconfig. - Você deve colocar os parâmetros sob o namespace
vendor/package-name:
return [
'vendor/package-name' => [
'param1' => 1,
'param2' => 2,
],
];Versões
Todos os pacotes seguem o versionamento SemVer:
x.*.*- mudanças incompatíveis na API.*.x.*- adição de funcionalidades (compatível com versões anteriores).*.*.x- correções de bugs (compatível com versões anteriores).
A primeira versão estável deve ser 1.0.0.
O número de versão de cada pacote não depende da versão de nenhum outro pacote nem do nome/versão do framework, apenas do seu próprio contrato público. O framework como um todo tem o nome "Yii3".
Não há problema em usar juntos pacotes com versões major diferentes, desde que sejam compatíveis.
Suporte a versões do PHP
O suporte às versões do PHP em um pacote depende do ciclo de vida das versões do PHP.
- Versões de pacotes com suporte ativo DEVEM suportar todas as versões do PHP que têm suporte ativo.
- Tanto os pacotes quanto os templates de aplicação DEVEM ter versões suportadas que recebem correções de bugs e de segurança. Essas versões DEVERIAM corresponder às versões do PHP que recebem correções de segurança.
- Pacotes e templates de aplicação PODEM ter versões suportadas que funcionam com versões do PHP sem suporte.
- Aumentar a versão mínima do PHP em um pacote ou template de aplicação é uma mudança minor.
composer.json
Um operador lógico OU em intervalos de versão DEVE usar pipe duplo (||). Por exemplo: "yiisoft/arrays": "^1.0 || ^2.0".