phpstan / phpstan-nette
PHPStan 的 Nette 框架类反射扩展
1.3.8
2024-08-25 12:11 UTC
Requires
- php: ^7.2 || ^8.0
- phpstan/phpstan: ^1.11.11
Requires (Dev)
- nette/application: ^3.0
- nette/forms: ^3.0
- nette/utils: ^2.3.0 || ^3.0.0
- nikic/php-parser: ^4.13.2
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/phpstan-phpunit: ^1.0
- phpstan/phpstan-strict-rules: ^1.0
- phpunit/phpunit: ~9.5.28
Conflicts
- nette/application: <2.3.0
- nette/component-model: <2.3.0
- nette/di: <2.3.0
- nette/forms: <2.3.0
- nette/http: <2.3.0
- nette/utils: <2.3.0
- 2.0.x-dev
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.0
- 1.0.0
- 0.12.21
- 0.12.20
- 0.12.19
- 0.12.18
- 0.12.17
- 0.12.16
- 0.12.15
- 0.12.14
- 0.12.13
- 0.12.12
- 0.12.11
- 0.12.10
- 0.12.9
- 0.12.8
- 0.12.7
- 0.12.6
- 0.12.5
- 0.12.4
- 0.12.3
- 0.12.2
- 0.12.1
- 0.12.0
- 0.11.1
- 0.11
- 0.10.1
- 0.10
- 0.9
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8
- 0.7
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6
- 0.5.1
- 0.5
- 0.4
- 0.3
- 0.2
- 0.1
- dev-renovate/major-root-composer
- dev-renovate/major-github-actions
- dev-renovate/root-composer
This package is auto-updated.
Last update: 2024-09-04 21:08:38 UTC
README
此扩展提供以下功能:
Nette\ComponentModel\Container::getComponent()
因为它读取createComponent*
的返回类型,所以知道组件的类型(在 presenter 和 controls 中效果最佳)Nette\DI\Container::getByType
和createInstance
根据第一个参数(Foo::class
)返回类型。Nette\Forms\Container::getValues
返回类型基于$asArray
参数。Nette\ComponentModel\Component::lookup
返回类型基于$throw
参数。Nette\Application\UI\Component::getPresenter
返回类型基于$throw
参数。- Nette\Utils\Html 的动态方法
- Nette\Object 和 Nette\SmartObject 的魔法属性
- 通过
on*
属性的事件监听器 - 为 Presenter 方法定义早期终止方法调用以防止
未定义变量
错误 - 根据模式理解来自
Nette\Utils\Strings::match()
和Nette\Utils\Strings::matchAll()
的确切数组形状
它还包含以下特定于框架的规则(可以单独启用)
- 不要扩展 Nette\Object,而是使用 Nette\SmartObject 特性
- 重新抛出总是需要重新抛出的异常(如
AbortException
)
安装
要使用此扩展,请在 Composer 中要求它
composer require --dev phpstan/phpstan-nette
如果您还安装了 phpstan/extension-installer,则一切准备就绪!
手动安装
如果您不想使用 phpstan/extension-installer
,请将 extension.neon 包含在项目 PHPStan 配置中
includes:
- vendor/phpstan/phpstan-nette/extension.neon
要执行框架特定检查,请也包含此文件
- vendor/phpstan/phpstan-nette/rules.neon