bitexpert/phpstan-magento
PHPStan Magento Extension
Maintainers
Package info
github.com/bitExpert/phpstan-magento
Type:phpstan-extension
pkg:composer/bitexpert/phpstan-magento
Requires
- php: ^7.2.0 || ^8.1.0
- ext-dom: *
- laminas/laminas-code: ~3.3.0 || ~3.4.1 || ~3.5.1 || ^4.5 || ^4.10
- phpstan/phpstan: ^2.0
- symfony/finder: ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- captainhook/captainhook: ^5.10.9
- captainhook/plugin-composer: ^5.3.3
- league/commonmark: ^2.3.1
- madewithlove/license-checker: ^0.10.0 || ^1.4
- magento/framework: >=102.0.0
- mikey179/vfsstream: ^1.6.10
- nette/neon: ^3.3.3
- nikic/php-parser: ^5.3
- phpstan/extension-installer: ^1.1.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^9.5.20
- squizlabs/php_codesniffer: ^3.6.2
Suggests
None
Provides
None
Conflicts
- magento/framework: <102.0.0
Replaces
None
MIT b9125ee97640fd991feda88109a0361471ddad11
- Stephan HochdΓΆrfer <S.Hochdoerfer.woop@bitExpert.de>
This package is auto-updated.
Last update: 2026-06-28 08:23:09 UTC
README
This package provides some additional features for PHPStan to make it work for Magento 2 projects. You can use this PHPStan extension for both Magento module projects and Magento application projects.
π Build Status
π Coverage Status
π installs on Packagist
π Mastodon Follow
Requirements
PHP: PHP 7.2 or higher
Magento: Magento 2.3.0 or higher
PHPStan: PHPStan 2.0 or higher
If you are using a Magento version that requires an older version of PHPStan (e.g. 0.12.77), you need to manually upgrade it before
installing this extension. In your composer.json Change the PHPStan version to ~2.0 and run:
composer update phpstan/phpstan --with-all-dependencies
This PHPStan extension needs to be registered with PHPStan so that the extension gets loaded properly. The easiest way to do this is
to install the phpstan/extension-installer package as follows:
composer.phar require --dev phpstan/extension-installer
Installation
The preferred way of installing bitexpert/phpstan-magento is through Composer.
You can add bitexpert/phpstan-magento as a dev dependency, as follows:
composer.phar require --dev bitexpert/phpstan-magento
Want a full walk-through of the installation & configuration process? Read the blog post at M.academy about Static Analysis in Magento with PHPStan.
PHPStan configuration
If you have not already a PHPStan configuration file phpstan.neon in your project, create a new empty file next to your composer.json file.
See here what options PHPStan allows you to configure.
Feature overview
This PHPStan extension works for both Magento module projects and Magento application projects.
- Class generator for factory & proxy classes
- Mocked classes autoloader
- TestFramework autoloader
- Type hints
- TestFramework ObjectManager type hints
- ObjectManager type hints
- Magic method calls
- Extension attributes
- PHPStan rules
- Service contracts
- Resource Models should be used directly
- Collections should be used directly via factory
- Do not use setTemplate in Block classes
For a detailed overview, check the feature documentation here.
Contribute
Please feel free to fork and extend existing or add new features and send a pull request with your changes! To establish a consistent code quality, please provide unit tests for all your changes and adapt the documentation.
Want To Contribute?
If you feel that you have something to share, then weβd love to have you. Check out the contributing guide to find out how, as well as what we expect from you.
License
PHPStan Magento Extension is released under the MIT License.
