rspec/rules/S2011/php/rule.adoc

47 lines
929 B
Plaintext
Raw Normal View History

== Why is this an issue?
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
[source,php]
----
$myGlobalVariable;
function foo()
{
global $myGlobalVariable; // Noncompliant
$GLOBALS['myGlobalVariable']; // Noncompliant
// ...
}
----
=== Compliant solution
[source,php]
----
function foo($myStateVariable)
{
// ...
}
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]