O uso de superglobais é diretamente bom ou ruim em PHP?

Portanto, eu não sou de uma grande experiência em PHP - e fiquei imaginando se, em código bem formado, deve-se usar os 'superglobais' diretamente, por exemplo. no meio de alguma função diz$_SESSION['x'] = 'y'; ou se, como normalmente faria com variáveis, é melhor enviá-las como argumentos que podem ser usados a partir daí, por exemplo:

class Doer {
    private $sess;
    public function __construct(&$sess) {
        $this->sess =& $sess;
    }
} 

$doer = new Doer($_SESSION);

e depois use oDoer->sess versão de dentro do Doer e tal. (A vantagem desse método é que deixa claro queDoer usa $ _SESSION.)

Qual é a abordagem de design PHP aceita para esse problema?

questionAnswers(5)

yourAnswerToTheQuestion