original_string: public function get_readers($interface = null) {
          $this->init();
          $return = array();
          foreach ($this->readers as $plugin => $reader) {
              if (empty($interface) || ($reader instanceof $interface)) {
                  $return[$plugin] = $reader;
              }
          }
  
          return $return;
      }
code: public function get_readers($interface = null) {
          $this->init();
          $return = array();
          foreach ($this->readers as $plugin => $reader) {
              if (empty($interface) || ($reader instanceof $interface)) {
                  $return[$plugin] = $reader;
              }
          }
  
          return $return;
      }
code_tokens: public function get_readers ( $ interface = null ) { $ this -> init ( ) ; $ return = array ( ) ; foreach ( $ this -> readers as $ plugin => $ reader ) { if ( empty ( $ interface ) || ( $ reader instanceof $ interface ) ) { $ return [ $ plugin ] = $ reader ; } } return $ return ; }
docstring: Returns list of available log readers.
  
  This way the reports find out available sources of data.
  
  @param string $interface Returned stores must implement this interface.
  
  @return \core\log\reader[] list of available log data readers
docstring_tokens: Returns list of available log readers .