Global variables are a useful construct, but they should not be abused. Functions can access the global scope either through the
global
keyword or though the $GLOBALS
array, but these practices considerably reduce the function’s readability and
reusability. Instead, the global variable should be passed as a parameter to the function.
Noncompliant code example
$myGlobalVariable;
function foo()
{
global $myGlobalVariable; // Noncompliant
$GLOBALS['myGlobalVariable']; // Noncompliant
// ...
}
Compliant solution
function foo($myStateVariable)
{
// ...
}