original_string: 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;
                  }
              }
          }
      }
code: 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;
                  }
              }
          }
      }
code_tokens: 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 ; } } } }
docstring: Delayed initialisation of singleton.
docstring_tokens: Delayed initialisation of singleton .