Я пробую писать приложение на AngularJs и Yii2, роутеры должны быть идентичными что на сервере, что на клиенте.
ангулар хавает template .php без проблем, поэтому можно сделать public папку с шаблонами.
На сервере я проверяю только одну переменную
function renderView( $view ) {
if ( strstr($_SERVER['HTTP_ACCEPT'], 'application/json') ) {
echo json_encode( $this->Datas );
Jbase::end();
} else {
return $this->lang->getTemplate( $this->render('../../../public/frontend/app/template/' . $view, [
'datas' => $this->Datas
]));
}
}
В общем-то и всё. Шаблоны получаются общие, конечно писать в шаблоне придётся так:
<h1 class="page-header" ng-bind="datas.meta.title | t:Phrase"><ml:ru><?= $datas['meta']['title'] ?></ml></h1>
На клиенте -
ng-bind="datas.meta.title | t:Phrase"
На сервере -
<?= $datas['meta']['title'] ?>