slam / phpstan-laminas-framework
Laminas Framework 3 MVC controller plugin extension for PHPStan.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        Slamdunk
                                                                                    
                                                                            
                                                                                                                                        paypal.me/filippotessarotto
                                                                                    
                                                                
Installs: 226 009
Dependents: 6
Suggesters: 0
Security: 0
Stars: 17
Watchers: 2
Forks: 12
Open Issues: 16
Type:phpstan-extension
pkg:composer/slam/phpstan-laminas-framework
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0
- phpstan/phpstan: ^2.0.2
Requires (Dev)
- laminas/laminas-filter: ^2.39.0
- laminas/laminas-form: ^3.21.0
- laminas/laminas-hydrator: ^4.16.0
- laminas/laminas-i18n: ^2.29.0
- laminas/laminas-inputfilter: ^2.31.0
- laminas/laminas-mvc: ^3.8.0
- laminas/laminas-paginator: ^2.19.0
- laminas/laminas-validator: ^2.64.1
- phpstan/phpstan-deprecation-rules: ^2
- phpstan/phpstan-phpunit: ^2.0.1
- phpunit/phpunit: ^11.4.3
- slam/php-cs-fixer-extensions: ^3.11.1
Conflicts
- laminas/laminas-filter: <2.37
- laminas/laminas-form: <3.20
- laminas/laminas-hydrator: <4.15
- laminas/laminas-i18n: <2.28
- laminas/laminas-inputfilter: <2.30
- laminas/laminas-log: <2.16
- laminas/laminas-mail: <2.25
- laminas/laminas-mvc: <3.7
- laminas/laminas-paginator: <2.18
- laminas/laminas-validator: <2.64
- dev-master
- v2.0.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- v0.12.7
- v0.12.6
- v0.12.5
- v0.12.4
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12.0
- dev-renovate/phpunit-phpunit-12.x
- dev-renovate/laminas-laminas-validator-3.x
- dev-renovate/all-minor-patch
- dev-php_85
- dev-renovate/laminas-laminas-filter-3.x
- dev-renovate/php
This package is auto-updated.
Last update: 2025-10-30 13:43:32 UTC
README
This extension provides following features:
- Provide correct return type for $container->get()calls on containers of type\Laminas\ServiceManager\ServiceLocatorInterface,\Interop\Container\ContainerInterfaceor\Psr\Container\ContainerInterface
- Handle controller plugins that are called using magic __call()in subclasses of\Laminas\Mvc\Controller\AbstractController
- Provide correct return type for pluginmethod ofAbstractController,FilterChain,PhpRendererandValidatorChain
- getApplication(),- getRenderer(),- getRequest()and- getResponse()methods on Controllers, MvcEvents, View, ViewEvent and Application returns the real instance instead of type-hinted interfaces
- getView()method on- \Laminas\View\Helper\AbstractHelperreturns the real Renderer instance instead of type-hinted interface
- \Laminas\Stdlib\ArrayObjectis configured as a Universal object crate
- Handle \Laminas\Stdlib\AbstractOptionsmagic properties
Installation
To use this extension, require it in Composer:
composer require --dev slam/phpstan-laminas-framework
If you also install phpstan/extension-installer then you're all set!
Manual installation
If you don't want to use phpstan/extension-installer, include extension.neon in your project's PHPStan config:
includes:
    - vendor/slam/phpstan-laminas-framework/extension.neon
Configuration
This library already recognize built-in services and plugins.
You can opt in for more advanced analysis by providing the service manager from your own application:
parameters: laminasframework: serviceManagerLoader: tests/service-manager.php
For example, tests/service-manager.php would look something like this:
$app = \Laminas\Mvc\Application::init($config); return $app->getServiceManager();