lib/Loader.php
protected function findViewFile(string $name): string {
    if (!mb_strlen($name)) throw new InvalidArgumentException('The view name is empty.');

    $controller = \Yii::$app->controller;
    if (mb_substr($name, 0, 2) == '//')
      $file = \Yii::$app->viewPath.DIRECTORY_SEPARATOR.ltrim($name, '/');
    else if ($name[0] == '/') {
      if (!$controller) throw new InvalidCallException("Unable to locate the view '$name': no active controller.");
      $file = $controller->module->viewPath.DIRECTORY_SEPARATOR.ltrim($name, '/');
    }
    else {
      $viewPath = $controller ? $controller->viewPath : \Yii::$app->viewPath;
      $file = \Yii::getAlias("$viewPath/$name");
    }

    $view = \Yii::$app->view;
    if ($view && $view->theme) $file = $view->theme->applyTo($file);
    if (!mb_strlen(pathinfo($file, PATHINFO_EXTENSION))) $file .= '.'.($view ? $view->defaultExtension : 'mustache');
    return $file;
  }
protected function findViewFile(string $name): string {
    if (!mb_strlen($name)) throw new InvalidArgumentException('The view name is empty.');

    $controller = \Yii::$app->controller;
    if (mb_substr($name, 0, 2) == '//')
      $file = \Yii::$app->viewPath.DIRECTORY_SEPARATOR.ltrim($name, '/');
    else if ($name[0] == '/') {
      if (!$controller) throw new InvalidCallException("Unable to locate the view '$name': no active controller.");
      $file = $controller->module->viewPath.DIRECTORY_SEPARATOR.ltrim($name, '/');
    }
    else {
      $viewPath = $controller ? $controller->viewPath : \Yii::$app->viewPath;
      $file = \Yii::getAlias("$viewPath/$name");
    }

    $view = \Yii::$app->view;
    if ($view && $view->theme) $file = $view->theme->applyTo($file);
    if (!mb_strlen(pathinfo($file, PATHINFO_EXTENSION))) $file .= '.'.($view ? $view->defaultExtension : 'mustache');
    return $file;
  }
protected function findViewFile ( string $ name ) : string { if ( ! mb_strlen ( $ name ) ) throw new InvalidArgumentException ( 'The view name is empty.' ) ; $ controller = \ Yii :: $ app -> controller ; if ( mb_substr ( $ name , 0 , 2 ) == '//' ) $ file = \ Yii :: $ app -> viewPath . DIRECTORY_SEPARATOR . ltrim ( $ name , '/' ) ; else if ( $ name [ 0 ] == '/' ) { if ( ! $ controller ) throw new InvalidCallException ( "Unable to locate the view '$name': no active controller." ) ; $ file = $ controller -> module -> viewPath . DIRECTORY_SEPARATOR . ltrim ( $ name , '/' ) ; } else { $ viewPath = $ controller ? $ controller -> viewPath : \ Yii :: $ app -> viewPath ; $ file = \ Yii :: getAlias ( "$viewPath/$name" ) ; } $ view = \ Yii :: $ app -> view ; if ( $ view && $ view -> theme ) $ file = $ view -> theme -> applyTo ( $ file ) ; if ( ! mb_strlen ( pathinfo ( $ file , PATHINFO_EXTENSION ) ) ) $ file .= '.' . ( $ view ? $ view -> defaultExtension : 'mustache' ) ; return $ file ; }
Finds the view file based on the given view name.
@param string $name The view name.
@return string The view file path.
@throws \BadMethodCallException Unable to locate the view file.
Finds the view file based on the given view name .