Proposal: Forbidding constant "overriding"
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with the proposal and its linked Slevomat coding-standard request, then investigate PHP constant overriding with static:: and $object::. Define how the tree-member NAME edge case should be treated and identify the relevant rule entry point and tests; the work is complete when the scope and expected diagnostics are agreed.
Written by the indexing model from the issue text.
Description
Const overrides violate const invariants and are not LSP-compliant (types can be changed randomly).
There may be dragons when constants are used with static:: (sniff request to forbid that: https://github.com/slevomat/coding-standard/issues/473) or $object::.
Any occurence of a constant override should be (abstract) method instead.
Edge case: constants like NAME on each member of a tree?
- Dominant language
- PHP
- Stars
- 711
- Forks
- 62
- Avg merge
- 35m
- Merged PRs (30d)
- 4
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from phpstan/phpstan-strict-rules
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
phpstan/phpstan-strict-rules#317 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
phpstan/phpstan-strict-rules#316 · 3 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
phpstan/phpstan-strict-rules#298 · 2 comments · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
phpstan/phpstan-strict-rules#289 · 1 comment ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
phpstan/phpstan-strict-rules#283 · 6 comments ·
All issues in phpstan/phpstan-strict-rules
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
filamentphp/filament#20630 ·
Maintainers usually reply within 1 day
-
Issue: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
OpenAPITools/openapi-generator#25107 ·
Maintainers usually reply within 1 day
-
needs-maintainer-review review:approve
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Ultimate-Multisite/ultimate-ai-connector-compatible-endpoints#163 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day