Как в классе использовать global?
1. Передать их аргументами в конструктор класса
2. $GLOBALS - плохой выбор, крайне не рекомендую использовать.

<?php
$a = 'test';

class Cls {

  public function __construct($a) {
     $this->a = $a;
  }
  public function printer(){
    echo $this->a;
  }
}

$get = new Cls($a);
$get->printer();
global может использоваться только внутри методов или функций, т.е. 
$a = 'test';

class Cls {

  public function __construct($a) {
    global $a;
    $this->a = $a;
  }
  public function printer(){
    global $a;
    echo $this->a;
  }
}

$get = new Cls($a);
$get->printer();

Использование global - очень неверная стратегия, и ее нужно избегать всеми силами....

В крайнем случае используй static (если нужно чтобы переменная была единая для всех экземпляров класса), причем его можно использовать как в пределах описания переменных и методов класса так и внутри функции при определении переменной

Если прямо надо сильно глобальную переменную и лень писать global в каждом методе, пользуйся функциями, определенных глобально, их будет видно везде. Пример реализации сиквенса:
function next_seq() {
  static id=0;
  return id++;
}
или даже возвращающего целые объекты или массивы
function yoyo() {
  static $o=false;
  if($o===false) $o=new MyCoolObject();
  return $o;
}
использовать:
yoyo()->myCoolMethod();

Еще раз глобальная область видимости - бад практикс, везде старайтесь заворачивать весь функционал вокруг класса или хотя бы неймспейса. Это просто как ходить опрятно и не пованивать.