Defining and using global variables and global functions, when the convention dictates OOP can be confusing and difficult to use properly for
multiple reasons:
  -  You run the risk of name clashes. 
-  Global functions must be stateless, or they can cause difficult-to-track bugs. 
-  Global variables can be updated from anywhere and may no longer hold the value you expect. 
-  It is difficult to properly test classes that use global functions. 
Instead of being declared globally, such variables and functions should be moved into a class, potentially marked static, so they can
be used without a class instance.
This rule checks that only object-oriented programming is used and that no functions or procedures are declared outside of a class.
Noncompliant code example
<?php
$name = "Bob"; // Noncompliant
function doSomething($arg) {   // Noncompliant
  //...
}
class MyClass {
    //...
}
Compliant solution
<?php
class MyClass {
  public static $name = "Bob"; // Compliant
  public static function doSomething($arg) {              // Compliant
    //...
  }
  //...
}