Comments (3)
@Bolkun can you provide an example where this is failing so that I can write a specific test
from phpstan-drupal.
PHPstan skips analyzing traits when those traits are not in the analysis scope. I experimented with various ways of running phpstan, and after some diving into its internals with a debugger I managed to realize that this was the cause of why I got different results inside a vagrant guest and outside of it;
Since our custom code is not under drupal/web
in the repo, I used symlinks to replicate the expected directory structure as a "virtual drupal root", which I passed to phpstan. Of course the real paths to those traits would not match the paths given to phpstan, so the traits would get skipped. (This should probably be filed as a bug against phpstan.)
For now my solution is to use rsync for setting up the directory structure for running from the command line.
With VS Code extension PHP Static Analysis I however do get the expected results using symlinks for the "virtual drupal root" and pointing phpstan.neon at it.
from phpstan-drupal.
For all intents and purposes this seems to be working fine. I'm closing
from phpstan-drupal.
Related Issues (20)
- Detect storage handlers injection and storage instantiation in constructors
- «Undefined array key» when using autowiring with decorator
- Make ^10.0 the default constraint for Drupal core, update from ^9.0
- Move data samples out of phpstan_fixtures and into test data files
- Add PHP 8.3 tests
- Form should not have private properties HOT 2
- Simplify defining test namespaces HOT 1
- Have AccessResult forbiddenIf and allowedIf perform truthy checks HOT 5
- LockBackendInterface::acquire() is impure HOT 2
- ModuleHandler->loadInclude() call is not being processed HOT 2
- Update `bleedingEdge.neon` to include new rules
- Support turning off @internal check
- New accessibility requirement requires title attributes for most form elements.
- Validate FormBuilderInterface::getForm() arguments by inspecting form class HOT 1
- New rule for checking "static create()" method in controller
- Register dynamic services from DrupalKernel::attachSynthetic
- Determine return value from `\Drupal\Core\Config\Config::get` HOT 1
- Warn about max-age less then 10
- Fatal error: Uncaught TypeError: is_link(): Argument #1 ($filename) must be of type string, Drush\Config\Environment given in /tmp/site/vendor/webflo/drupal-finder/src/DrupalFinder.php:153 HOT 14
- Stop testing PHP 7.4, 8.0 and Drupal 9 HOT 4
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-drupal.