Comments (4)
Thinking out loud here (may server as a note to self or to anyone willing to implement it) but something this is what I'd like to see:
The allowedParams
here, with type
and/or value
keys (both may be extraneous, so maybe type
or value
, or maybe neither, optionally, would need to think about it a bit more):
arguments:
forbiddenCalls:
-
function: 'print_r()'
message: 'use logger instead'
allowedParams:
2:
type: boolean
value: true
from phpstan-disallowed-calls.
Works perfect for me. Thanks.
from phpstan-disallowed-calls.
Hi, thanks. I'd love to allow some "forbidden calls" with specified parameters but I'd like it to be more generic and configurable.
For example allowReturn
only makes sense with print_r()
and var_export()
but not with var_dump()
for example.
What I do now, until support for params is added, I just simply ignore the error:
ignoreErrors:
-
message: '#^Calling print_r\(\) is forbidden, use logger instead#' # Used with $return = true
paths:
- file.php
- foo.php
To not have to ignore the error in many files, a logger that would accept any type and print_r(..., true)
-it before actually logging it could also be used.
from phpstan-disallowed-calls.
I've added allowParams
support in #4, let me know if it works for you (it does for me), thanks!
from phpstan-disallowed-calls.
Related Issues (20)
- Invalid configuration: Unexpected item 'parameters › disallowedFunctionCalls'. HOT 2
- allowParams* reports invalid configuration HOT 3
- When a call is disallowed due to a parameter rule, display a different message
- Rename branch to `main` HOT 2
- Union types are not supported in params
- allowExceptParams fails on v2.11.3 when concatenation with object param HOT 1
- Add support for disallowing conditions on attributes HOT 4
- Add support for disallowing things when used inside class with certain attribute HOT 5
- Extension parameters in `extension.neon` should be defined as a structure HOT 1
- FeatureRequest: `disallowDirectory` HOT 4
- disallowedMethodCalls should also be triggered on inherited classes HOT 3
- Wrong file order in tests/bootstrap.php HOT 2
- After update psalm dies to unknown class HOT 4
- Do not add ", because reasons" when no message is defined HOT 2
- Supporting attributes restrictions on more targets, i.e. properties HOT 4
- It would be cool if I could disallow a call with an empty array, e.g. `func([])`
- Having multiple `allowExceptCaseInsensitiveParams` together with `disallowedAttributes` does not work HOT 3
- No tests for `disallowedAttributes` HOT 2
- Add support enum dynamic constant HOT 8
- `disallowed-loose-calls.neon` broke with PHPStan 1.10.58 HOT 3
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-disallowed-calls.