[9.x] Add predefined_constants to reservedNames array #42832
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
This PR is for adding predefined_constants to reservedNames array in a generator command. for example:
Why
Using PHP keywords & constants as the name when using generation commands is not only bad practice, but it simply does not even work.
For example, if there's a developer who wants to create a model called
__FILE__
Some could say:
I partially agree, but when you use the following generation command for example:
And now your project is polluted with a model class, factory, migration, and seeder, while the model isn't usable in the first place. It would be much better to disallow the scaffolding immediately and prevent this.
Note
I asked myself why developers even name classes with underscores but when I checked the
reservedName
array I found the__halt_compiler
keyword prevented before so that encourages me to addpredefined_constants
in PHP to prevent it also.Screenshot