Algemene container door je script heen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

YzRz -

yzRz -

31/03/2013 11:25:21
Quote Anchor link
Ik ben benieuwd wat de meest handige manier is om een soort van container met variablen/objecten door je framework heen te laten lopen. Momenteel heb ik zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Container {
    private static $instances;
    public static function set($key, $instance) {
        if (!array_key_exists($key, static::$instances))
            static::$instances[$key] = $instance;
    }

    public static function get($key) {
        if (array_key_exists($key, static::$instances))
            return static::$instances[$key];
    }
}

?>


maar nu heb ik dus bij een aantal functies dat er heel random opeens Container::set tussen staat, gewoon vanwege het feit dat ik die variable toevallig op een andere plek ook nog nodig heb.

Bijvoorbeeld als ik binnen een functie alle routes ophaal, stop ik dat ook in de container, zodat ik later al die routes weer op kan halen binnen een Twig extension die een route genereert.

Ik stop in die container ook dingen zoals een Request object, een Twig object, een Route object, etc. En dan binnen mijn controller doe ik dingen zoals

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$this
->request = Container::get('request');
$this->view = Container::get('twigview');
$this->route = Container::get('current_route');
?>


Ik ben benieuwd of er betere manieren zijn om dit op te lossen
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.