sidz / phpstan-cakephp2
An extension to help test CakePHP 2 projects with PHPStan
0.1.5
2024-05-01 14:44 UTC
Requires
- php: ^7.4
- phpstan/phpstan: ^1.9
Requires (Dev)
- cakephp/cakephp: ^2.10.24
- nunomaduro/phpinsights: ^2.7
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^9.6
README
PHPStan extensions to help test CakePHP 2 projects with PHPStan
Requirements
- PHP 7.4
- phpstan/phpstan 1.9+
- cakephp/cakephp 2.x
Installation
Installation is best done through composer:
composer require --dev sidz/phpstan-cakephp2
You will need to make sure the extension is included in your phpstan config:
# phpstan.neon includes: - vendor/sidz/phpstan-cakephp2/extension.neon
If you have behavior classes in odd locations (perhaps in a vendor directory) you will need to add those locations to your configuration. For example:
# phpstan.neon parameters: ModelBehaviorsExtension: behaviorPaths: - vendor/my-vendor/my-plugin/src/Model/Behavior/*.php
See extension.neon
for the default list of behavior locations.
Features
The following features are added to PHPStan:
- Treat behavior methods as extra methods on all models (
$model->behaviorMethod()
) - Treat controller properties named after model classes as instances of those classes (
$controller->Model
) - Treat controller properties named after component classes as instances of those classes (
$controller->Component
) - Treat component properties names after component classes as instances of those classes (
$component->Component
) - Treat
ClassRegistry::init($className)
as returning an instance of$className
where possible