Automatically detect global variable types #7
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.
Instead of forcing developers to add PHPDoc for all global variables, we can resolve their type automatically.
The resolution is based on the variable name and the risk that a plugin declares a variable with the same name that a global variable of GLPI exists, but, in this case, it is still possible to enforce the type with a dedicated PHPDoc block (see the
tests/data/GlobalTypeResolver/global-statement-with-phpdoc.phptest file).This will permit, for instance, in a future GLPI version, to change the type the
$CFG_GLPIor the$PLUGIN_HOOKSvariables if we decide to replace it by dedicated objects that implements theArrayAccessinterface.