PHP: “Global” Comprennent

Situation actuelle:

  • J'ai le version actuelle de mon Framework MVC qui utilise des classes en tant que contrôleurs.
  • J'ai quelques "vintage", les modules de mon vieux MVC Framework qui utilise de simples, plat comprend des contrôleurs.

Beaucoup plus simple que cela signifie:

Nouvelle Version:

<?PHP
class blaController extends baseController {
    private $intVar;

    function dosomethingFunction() {
        $this->intVar = 123;
        $this->view('myView');
    }
}
?>

Ancienne Version:

<?PHP
$globalVar = 123;
//view "controllername" is automatically shown
?>

Je vais maintenant essayer d'écrire un wrapper pour être en mesure d'utiliser mon vieux contrôleurs dans mon nouveau MVC sans avoir à réécrire tout. Pour ce faire, j'ai un "wrapper" contrôleur:

class wrapController extends baseController {
    function dosomethingFunction() {
        require 'old_dosomething.function.php';
        $this->view('old_dosomething_view');
    }
}

(Encore une fois: C'est TRÈS, TRÈS simplifié - juste pour se faire une idée. Pas de code.)

Le problème avec cette approche est que le précédemment variable globale $globalVar maintenant existe uniquement à l'intérieur de la méthode "dosomethingFunction" et ne sont pas accessibles par la vue.

Ce ne serait pas le cas si je pouvais forcer le besoin de se comporter comme "dans la portée globale", de sorte que $globalVar serait de nouveau disponible dans la portée globale.

Donc: Est-il un moyen de parvenir "require_global" ou quelque chose de similaire?

(Une solution pour mon problème serait de modifier mon vieux contrôleurs de commencer avec un tas de "global" des commandes, mais je préférerais une solution où je n'ai pas à changer une grande partie de l'ancien code.)

(Note: s'il vous Plaît ne me dites pas que GLOBALES sont mauvais. Il passe complètement à côté de la point de cette question. Juste accepter que c'est une obligation de conserver quelques vieux code de travail dans une nouvelle, l'assainissement de l'environnement.)

OriginalL'auteur BlaM | 2009-04-15