protected function init() {
        if (isset($this->stores)) {
            // Do not bother checking readers and writers here
            // because everything is init here.
            return;
        }
        $this->stores = array();
        $this->readers = array();
        $this->writers = array();

        // Register shutdown handler - this may be useful for buffering, file handle closing, etc.
        \core_shutdown_manager::register_function(array($this, 'dispose'));

        $plugins = get_config('tool_log', 'enabled_stores');
        if (empty($plugins)) {
            return;
        }

        $plugins = explode(',', $plugins);
        foreach ($plugins as $plugin) {
            $classname = "\\$plugin\\log\\store";
            if (class_exists($classname)) {
                $store = new $classname($this);
                $this->stores[$plugin] = $store;
                if ($store instanceof \tool_log\log\writer) {
                    $this->writers[$plugin] = $store;
                }
                if ($store instanceof \core\log\reader) {
                    $this->readers[$plugin] = $store;
                }
            }
        }
    }
protected function init() {
        if (isset($this->stores)) {
            // Do not bother checking readers and writers here
            // because everything is init here.
            return;
        }
        $this->stores = array();
        $this->readers = array();
        $this->writers = array();

        // Register shutdown handler - this may be useful for buffering, file handle closing, etc.
        \core_shutdown_manager::register_function(array($this, 'dispose'));

        $plugins = get_config('tool_log', 'enabled_stores');
        if (empty($plugins)) {
            return;
        }

        $plugins = explode(',', $plugins);
        foreach ($plugins as $plugin) {
            $classname = "\\$plugin\\log\\store";
            if (class_exists($classname)) {
                $store = new $classname($this);
                $this->stores[$plugin] = $store;
                if ($store instanceof \tool_log\log\writer) {
                    $this->writers[$plugin] = $store;
                }
                if ($store instanceof \core\log\reader) {
                    $this->readers[$plugin] = $store;
                }
            }
        }
    }
protected function init ( ) { if ( isset ( $ this -> stores ) ) { // Do not bother checking readers and writers here // because everything is init here. return ; } $ this -> stores = array ( ) ; $ this -> readers = array ( ) ; $ this -> writers = array ( ) ; // Register shutdown handler - this may be useful for buffering, file handle closing, etc. \ core_shutdown_manager :: register_function ( array ( $ this , 'dispose' ) ) ; $ plugins = get_config ( 'tool_log' , 'enabled_stores' ) ; if ( empty ( $ plugins ) ) { return ; } $ plugins = explode ( ',' , $ plugins ) ; foreach ( $ plugins as $ plugin ) { $ classname = "\\$plugin\\log\\store" ; if ( class_exists ( $ classname ) ) { $ store = new $ classname ( $ this ) ; $ this -> stores [ $ plugin ] = $ store ; if ( $ store instanceof \ tool_log \ log \ writer ) { $ this -> writers [ $ plugin ] = $ store ; } if ( $ store instanceof \ core \ log \ reader ) { $ this -> readers [ $ plugin ] = $ store ; } } } }
Delayed initialisation of singleton.
Delayed initialisation of singleton .