rspec/rules/S2011/php/rule.adoc
Fred Tingaud 16f6c0aecf
Inline adoc when include has no additional value (#1940)
Inline adoc files when they are included exactly once.

Also fix language tags because this inlining gives us better information
on what language the code is written in.
2023-05-25 14:18:12 +02:00

46 lines
928 B
Plaintext

== 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[]