phpstan codeigniter
v1.5.1
该扩展名提供以下功能:
config()和model()函数提供精确的返回类型。service()和single_service()函数的精确返回类型。fake()辅助功能提供精确的返回类型。CodeIgniterModel 's find() , findAll()和first()方法提供精确的返回类型。asArray()或asObject()时允许CodeIgniterModel的动态返回类型转换。config()或model()函数是有效的类字符串扩展CodeIgniterConfigBaseConfig或CodeIgniterModel 。可以通过设置codeigniter.checkArgumentTypeOfFactories: false in your phpstan.neon中关闭。对于细粒度控制,您可以单独选择使用codeigniter.checkArgumentTypeOfConfig和codeigniter.checkArgumentTypeOfModel禁用的工厂功能。注意:设置codeigniter.checkArgumentTypeOfFactories: false将有效地绕过两个特定选项。service()还是single_service()函数是有效的服务名称。可以通过设置codeigniter.checkArgumentTypeOfServices: false phpstan.neon中的false。new ,建议使用新的缓存处理程序,并建议使用CacheFactory类。new FrameworkException类取消实例化。$_SERVER和$_GET的直接重新分配或访问权限,并建议使用Superglobals类。config()和model()上使用::class fetch的使用,并建议使用类的简短形式。 要使用此扩展名,请在作曲家中需要它:
composer require --dev codeigniter/phpstan-codeigniter
如果您还安装了phpstan/Extension-installer,那么您将全部设置!
如果您不想使用phpstan/extension-installer ,请在项目的PHPSTAN配置中包含Extension.Neon:
includes :
- vendor/codeigniter/phpstan-codeigniter/extension.neon该存储库中的开发使用PHP 8.1+ 。
从v1.1.0开始,发行版带有降级版本,以适合较低的PHP版本。目前,最低支持的降级PHP版本为PHP 7.4 。
此扩展名在搜索可能的类时,将config()和model()分别添加为Config and AppModels的默认名称空间。如果您的应用程序使用其他名称空间,则可以在phpstan.neon中配置此扩展名。没有识别这些名称空间:
parameters :
codeigniter :
additionalConfigNamespaces :
- AcmeBlogConfig
- FooBarConfig
additionalModelNamespaces :
- AcmeBlogModels
对于service()和single_service()函数,您可以指示PHPSTAN考虑自己的服务工厂类。请注意,它应该是一个有效的类扩展CodeIgniterConfigBaseService !
parameters :
codeigniter :
additionalServices :
- AcmeBlogConfigServiceFactory当将模型传递给fake()具有属性$returnType设置为array ,此扩展程序将根据模型的允许字段提供精确的数组形状。在大多数情况下,格式化的字段是字符串。如果不是字符串,则可以指示特定字段的格式返回类型。
parameters :
codeigniter :
notStringFormattedFields : # key-value pair of field => format
success : bool
user_id : int 欢迎任何贡献。
如果您想查看特定于CodeIgniter的新规则或扩展,请打开功能请求。如果您可以自己贡献代码,请打开拉动请求。
在报告任何错误之前,请检查仅在使用PHPSTAN使用此扩展名时发生错误。如果仅在phpstan中重现该错误,请改为打开一个错误报告。谢谢你!
PHPSTAN CODEIGNITER是在MIT下许可的开源库。