Comments (8)
Thanks for opening your first issue. Fancy opening your first PR to fix this? ;)
Technically we don't support this setup anymore, in fact, what should not work when you do it like this is the extension attribute support. Since we rely on the Composer autoloader to check if a class or an interface exists, this will not work if you separate the phpstan/phpstan-magento installation from the Magento installation. If you don't care about extension attributes, the setup will work for you (but might break in future releases).
I would have loved to keep supporting this way but I could not find a way to reliably check if a class or interface exists.
from phpstan-magento.
@shochdoerfer if you could point to me the logic to check extension attributes, I'll have a look.
from phpstan-magento.
PS My .phpstan.neon is setup like:
parameters:
level: 7
fileExtensions:
- php
paths:
- app/code/
- app/design/
reportUnmatchedIgnoredErrors: false
checkMissingIterableValueType: false
ignoreErrors:
- '#^Class.*[a-z]Factory not found\.$#'
- '#^Class.*[a-z]\\Proxy not found\.$#'
- '#^Call to method create\(\) on an unknown class.*[a-z]Factory\.$#'
- '#^Call to method create\(\) on an unknown class.*[a-z]\\Proxy\.$#'
- '#^Parameter \$\w+ of method .*::.*\(\) has invalid (typehint )?type.*[a-z]Factory\.$#'
- '#^Parameter \$\w+ of method .*::.*\(\) has invalid (typehint )?type.*[a-z]\\Proxy\.$#'
- '#^Property .*::\$.* has unknown class.*[a-z]Factory as its type\.$#'
- '#^Property .*::\$.* has unknown class.*[a-z]\\Proxy as its type\.$#'
- '#^Return typehint of method .*::.*\(\) has invalid type.*[a-z]Factory\.$#'
- '#^Return typehint of method .*::.*\(\) has invalid type.*[a-z]\\Proxy\.$#'
- '#^Call to an undefined method.*[a-z]Interface::(get|set).*\(\)\.$#'
- '#invalid type.*ExtensionInterface#'
- '#should return.*ExtensionInterface.*but returns.*Magento\\Framework\\Api\\ExtensionAttributesInterface#'
- '#Parameter \#1 \$extensionAttributes of method Magento\\Framework\\Api\\AbstractExtensibleObject::_setExtensionAttributes\(\) expects Magento\\Framework\\Api\\ExtensionAttributesInterface, .*ExtensionInterface given\.#'
- '#Call to an undefined method Magento\\Framework\\GraphQl\\Query\\Resolver\\ContextInterface::getExtensionAttributes\(\)\.#'
- '#Call to an undefined method object::getExtensionAttributes\(\).#'
- '#unknown class [a-zA-Z0-9\\_]+ExtensionInterface#'
- '#Class [a-zA-Z0-9\\_]+ExtensionInterface not found#'
excludePaths:
- %currentWorkingDirectory%/pub/errors/processor.php
includes:
- .phpstan-baseline.neon
- ../qa/vendor/bitexpert/phpstan-magento/extension.neon
Looking at this, I believe I'm ignoring the extension attributes anyway.
from phpstan-magento.
@evs-xsarus correct, you are ignoring the errors anyways.
from phpstan-magento.
@evs-xsarus I prepared a PR, mind giving it a try? #267
from phpstan-magento.
Looking at the code, I believe it should work. My debugger doesn't stop in the TestFramewordAutoloader with PHPStan 1.8.x. Probably due to #249 .
from phpstan-magento.
dev-master version seems to work for me. Will release a new version soon, if you run into problems open a new issue.
from phpstan-magento.
Here you go: https://github.com/bitExpert/phpstan-magento/releases/tag/v0.24.0
from phpstan-magento.
Related Issues (20)
- Missing check when using factory constant HOT 1
- No coverage data is *not* sent to Coveralls
- Certain CI steps run several times without additional result HOT 1
- Move stubs out of src/ HOT 6
- DateTimeFactory Issue; HOT 6
- Project config file at path app/code/Vendor/Module does not exist. HOT 5
- Factory generation misnames output class HOT 4
- Current release version not updated HOT 5
- Wrong directory used as "magentoRoot" when current working direcory is not magento root HOT 2
- private string $magentoRoot; not work in PHP 7.2 HOT 4
- Generated class ProductExtension is passed on incorrectly to phpstan HOT 30
- Missing Interface class HOT 9
- Add support for PHP 8.2 HOT 3
- Compatibility with PHPstan 1.10.x HOT 4
- Failure with `phpstan/phpstan-phpunit` and PHPStan cache usage HOT 19
- Version 0.30.0 fails with errors about unexpected items in parameters HOT 4
- Extend ci_neon_lint script to validate parametersSchema
- Incompatibility with phpstan & rector and 2.4.6 HOT 1
- Internal error: Class\Foo does not exist and has no extension interface in file class.php HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpstan-magento.