Sylius/phpstan.neon.dist
Grzegorz Sadowski ad93c745ff
bug #13709 Fix fatal error when OPCache preloading is used (mmenozzi)
This PR was merged into the 1.12-dev branch.

Discussion
----------

| Q               | A
| --------------- | -----
| Branch?         | 1.11
| Bug fix?        | yes
| New feature?    | no
| BC breaks?      | no
| Deprecations?   | no
| Related tickets | none
| License         | MIT

While in Symfony 5 the `Symfony\Bundle\FrameworkBundle\Templating\EngineInterface` was removed, in Sylius there were still references to that interface in docblock comments.

With Sylius 1.11 ([with this commit](ced91b9bd6)) the type hint has been promoted to a PHP type hint. This normally does not cause any problem because apparently the class loading is lazy and does not try to load the non-existent interface.

But if PHP OPCache preload is used, like suggested [here](https://symfony.com/doc/current/performance.html#use-the-opcache-class-preloading), it appears that PHP switches to eager class loading and you get the following fatal error:

```
NOTICE: PHP message: PHP Fatal error:  Failed to load class Symfony\Bundle\FrameworkBundle\Templating\EngineInterface used by typed property Sylius\Bundle\ShopBundle\Controller\SecurityWidgetController::$templatingEngine during preloading in Unknown on line 0
```

With this PR we propose to remove all references to the old interface as Symfony 4 is not supported anymore by Sylius.

Commits
-------

1b555f948d Remove references to old Symfony FrameworkBundle EngineInterface
2022-03-29 09:28:22 +02:00

33 lines
1,004 B
Text

includes:
- vendor/phpstan/phpstan-doctrine/extension.neon
parameters:
level: 1
reportUnmatchedIgnoredErrors: false
paths:
- 'src/'
excludes_analyse:
# Test dependencies
- '**/spec/**.php'
- '**/Bundle/*/test/**.php'
- '**/Bundle/*/test/app/**.php'
- '**/Bundle/*/test/src/**.php'
- '**/Bundle/*/Tests/Functional/app/**.php'
- '**/Bundle/*/Tests/Functional/var/**.php'
# Vendor files in subpackages
- '**/Bundle/*/vendor/**.php'
- '**/Component/*/vendor/**.php'
# Deprecated classes
- 'src/Sylius/Bundle/CoreBundle/Application/Kernel.php'
# Symfony 5.1+ hotfixes
- 'src/Sylius/Bundle/ApiBundle/DependencyInjection/Compiler/ReflectionExtractorHotfixPass.php'
- 'src/Sylius/Bundle/ApiBundle/PropertyInfo/Extractor/ReflectionExtractor.php'
ignoreErrors:
- '/Access to an undefined property Doctrine\\Common\\Collections\\ArrayCollection/'