Variables globales vs statiques en PHP

Je suis de la création d'un cadre de base en PHP. J'ai besoin de passer des données à la page en cours dans les différentes fonctions, de leur permettre de modifier et l'enregistrer, puis passer à la page à afficher. J'ai été à l'origine de la planification pour le stockage des données dans une variable globale comme $GLOBALS['data']mais je commence à penser que l'utilisation d'un mondial est une mauvaise idée. Donc, je pense qu'à la place je vais mettre une variable statique dans le système de classe, et l'accès à l'aide system::$data. Donc, ma question est, qui serait le mieux et pourquoi?

Ce:

$GLOBALS['data'] = array();
$GLOBALS['data']['page_title'] = 'Home';
echo $GLOBALS['data']['page_title'];

Ou ceci:

class system
{
    public static $data = array()
}

function data($new_var)
{
    system::$data = array_merge(system::$data, $new_var);
}

data(array('page_title' => 'Home'));
echo system::$data['page_title'];

source d'informationauteur Kyle Piontek