Delphinum, Ну мне это мало интересно ![]()
Предлагаю сделать вот какую штуку, если не сложно будет и впишется в существующий код.
Контроллёры возвращают только данные (массивы, числа, строки).
То, как будет формироваться представление, должно конфигурироваться отдельно. В роутах например.
Т.е. имеем, к примеру, контроллёр:
public function profile(Requst $request) {
$uid = $request->request->get('uid', null);
return $this->repo->find($uid)->to_array();
}В конфиге пишем:
return [
'routes' => [
'users.profile' => [
'path' => '/users/{uid}/profile',
'handler' => 'users:profile',
'renderer' => 'html:profile.tmpl'
],
'api.users.profile' => [
'path' => '/api/v1/users/{uid}/profile',
'handler' => 'users:profile',
'renderer' => 'json'
]
]
];Как-то так. Вообще здесь куча подводных камней, но идея, на мой взгляд, имеет право на существование.