original_string: public function get_external_view(string $full_path, string $mode = 'html', array $data=null){
      if ( !router::is_mode($mode) ){
        die("Incorrect mode $full_path $mode");
      }
      if ( ($this->get_mode() === 'dom') && (!defined('BBN_DEFAULT_MODE') || (BBN_DEFAULT_MODE !== 'dom')) ){
        $full_path .= ($full_path === '' ? '' : '/').'index';
      }
      $view = null;
      if ( $this->has_view($full_path, $mode) ){
        $view = self::$loaded_views[$mode][$full_path];
      }
      else if ( $info = $this->router->route(basename($full_path), 'free-'.$mode, \dirname($full_path)) ){
        $view = new mvc\view($info);
        $this->add_to_views($full_path, $mode, $view);
      }
      if ( \is_object($view) && $view->check() ){
        return \is_array($data) ? $view->get($data) : $view->get();
      }
      return '';
    }
code: public function get_external_view(string $full_path, string $mode = 'html', array $data=null){
      if ( !router::is_mode($mode) ){
        die("Incorrect mode $full_path $mode");
      }
      if ( ($this->get_mode() === 'dom') && (!defined('BBN_DEFAULT_MODE') || (BBN_DEFAULT_MODE !== 'dom')) ){
        $full_path .= ($full_path === '' ? '' : '/').'index';
      }
      $view = null;
      if ( $this->has_view($full_path, $mode) ){
        $view = self::$loaded_views[$mode][$full_path];
      }
      else if ( $info = $this->router->route(basename($full_path), 'free-'.$mode, \dirname($full_path)) ){
        $view = new mvc\view($info);
        $this->add_to_views($full_path, $mode, $view);
      }
      if ( \is_object($view) && $view->check() ){
        return \is_array($data) ? $view->get($data) : $view->get();
      }
      return '';
    }
code_tokens: public function get_external_view ( string $ full_path , string $ mode = 'html' , array $ data = null ) { if ( ! router :: is_mode ( $ mode ) ) { die ( "Incorrect mode $full_path $mode" ) ; } if ( ( $ this -> get_mode ( ) === 'dom' ) && ( ! defined ( 'BBN_DEFAULT_MODE' ) || ( BBN_DEFAULT_MODE !== 'dom' ) ) ) { $ full_path .= ( $ full_path === '' ? '' : '/' ) . 'index' ; } $ view = null ; if ( $ this -> has_view ( $ full_path , $ mode ) ) { $ view = self :: $ loaded_views [ $ mode ] [ $ full_path ] ; } else if ( $ info = $ this -> router -> route ( basename ( $ full_path ) , 'free-' . $ mode , \ dirname ( $ full_path ) ) ) { $ view = new mvc \ view ( $ info ) ; $ this -> add_to_views ( $ full_path , $ mode , $ view ) ; } if ( \ is_object ( $ view ) && $ view -> check ( ) ) { return \ is_array ( $ data ) ? $ view -> get ( $ data ) : $ view -> get ( ) ; } return '' ; }
docstring: This will get a view from a different root.
  
  @param string $full_path
  @param string $mode
  @param array $data
  @return string|false
docstring_tokens: This will get a view from a different root .