Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Slamdunk/phpstan-laminas-framework

Open more actions menu

Repository files navigation

PHPStan extension for Laminas Framework

Latest Stable Version Downloads Integrate Code Coverage

This extension provides following features:

  1. Provide correct return type for $container->get() calls on containers of type \Laminas\ServiceManager\ServiceLocatorInterface, \Interop\Container\ContainerInterface or \Psr\Container\ContainerInterface
  2. Handle controller plugins that are called using magic __call() in subclasses of \Laminas\Mvc\Controller\AbstractController
  3. Provide correct return type for plugin method of AbstractController, FilterChain, PhpRenderer and ValidatorChain
  4. getApplication(), getRenderer(), getRequest() and getResponse() methods on Controllers, MvcEvents, View, ViewEvent and Application returns the real instance instead of type-hinted interfaces
  5. getView() method on \Laminas\View\Helper\AbstractHelper returns the real Renderer instance instead of type-hinted interface
  6. \Laminas\Stdlib\ArrayObject is configured as a Universal object crate
  7. Handle \Laminas\Stdlib\AbstractOptions magic 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();

About

Laminas Framework 3 extensions for PHPStan

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.