Esta extensão fornece os seguintes recursos:
config() e model() .service() e single_service() .fake() .CodeIgniterModel 's find() , findAll() e first() .CodeIgniterModel quando asArray() ou asObject() é chamado.config() ou model() é uma classe válida String estendendo CodeIgniterConfigBaseConfig ou CodeIgniterModel , respectivamente. Isso pode ser desligado definindo phpstan.neon codeigniter.checkArgumentTypeOfFactories: false . Para controle de granulação fina, você pode escolher individualmente qual função de fábrica desativar usando codeigniter.checkArgumentTypeOfConfig e codeigniter.checkArgumentTypeOfModel . NOTA: Configurando codeigniter.checkArgumentTypeOfFactories: false ignorará efetivamente as duas opções específicas.service() ou single_service() é um nome de serviço válido. Isso pode ser desligado definindo codeigniter.checkArgumentTypeOfServices: false em seu phpstan.neon .new e sugerem usar a classe CacheFactory .FrameworkException instantantes usando new .$_SERVER e $_GET e sugere usar a classe Superglobals .::class busca em config() e model() e sugere usar a forma curta da classe. Para usar esta extensão, requer no compositor:
composer require --dev codeigniter/phpstan-codeigniter
Se você também instalar o Phpstan/Extension-Installer, está tudo pronto!
Se você não quiser usar phpstan/extension-installer , inclua Extension.neon na configuração do Phpstan do seu projeto:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neonO desenvolvimento deste repositório usa o PHP 8.1+ .
Iniciando v1.1.0, os lançamentos vêm com uma versão rebaixada para se adequar às versões PHP mais baixas. Atualmente, a versão PHP rebaixada mais baixa é o PHP 7.4 .
Essa extensão adiciona o espaço de nome padrão para as funções config() e model() como Config e AppModels , respectivamente, ao procurar possíveis classes. Se o seu aplicativo usar outros namespaces, você poderá configurar esta extensão em seu phpstan.neon para reconhecer esses espaços para nome:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
Para as funções service() e single_service() , você pode instruir o Phpstan a considerar suas próprias classes de fábrica de serviços. Observe que deve ser uma classe válida que estendendo CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory Quando o modelo passou para fake() tiver a propriedade $returnType definido para a array , essa extensão fornecerá uma forma de matriz precisa com base nos campos permitidos do modelo. Na maioria das vezes, os campos formatados são cordas. Se não for uma string, você pode indicar o tipo de retorno do formato para o campo específico.
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int Quaisquer contribuições são bem -vindas.
Se você deseja ver uma nova regra ou extensão específica do CodeIgniter, abra uma solicitação de recurso. Se você pode contribuir com o código sozinho, abra uma solicitação de tração.
Antes de relatar qualquer bug, verifique se o bug ocorre apenas se estiver usando essa extensão com o Phpstan. Se o bug for reproduzível sozinho no Phpstan, abra um relatório de bug lá em vez disso. Obrigado!
O Phpstan Codeigniter é uma biblioteca de código aberto licenciado no MIT.