Mover la carpeta view y no morir en el intento

Hola a todos,

Estoy haciendo cambios en la estructura de carpetas del proyecto base y he movido de sitio la carpeta views, pero veo que no hay manera de setear por defecto una nueva ubicación (hay que hacerlo a través de los ->render() y la verdad, me parece engorroso escribirlo cada vez, quizás estaría bien que en versiones futuras de Yii existiera una opción en config tipo ‘viewPath’ => ’ ’ para facilitar esto).

Mi pregunta es: ¿existe alguna manera de setear por defecto el path?

¿por qué razón querría hacer eso? La idea de un framework es establecer unas pautas comunes, si realiza eso desarrolladores nuevos tendrían que adaptarse a una nueva forma lo que reduciría la eficiencia.

Revisando el core de Yii lo encontré, es muy fácil, solo hay que crear el atributo en el archivo config/web.php

'viewPath' => '@app/vistas/',

Hola, gracias por tu respuesta.

Sobre el motivo del cambio, mi equipo trabaja con una estructura de directorios y siempre adaptamos los frameworks para trabajar con esa misma estructura. Cambian cosas de un framework a otro, pero en general el tiempo invertido compensa la velocidad de trabajo en proyectos futuros.

Hola @Fenriss tienes 2 maneras de hacerlo

  1. Si antes de correr tu action haces esto en algun punto, yo te recomendaria en el bootstrap, pero podria ser en cualquier lado desde que sea antes;
    Yii::$app->setViewPath("/test/nuevo-camino");
    Ejemplo de como seria en el bootstrap

  2. Si solo quieres para algunos controllers en especifico puedes hacer override de el metodo getViewPath en tu controller
    Controller, yii\base\Controller | API Documentation for Yii 2.0 | Yii PHP Framework