@AlikDex

Как вы передаете данные в шаблоны?

Собственно вопрос. Просто отдельными кусками, или собираете 1 массив например. и передаете?
Ну вот например, создаем страничку редактирования профиля, собираем в контроллере нужные модели, и в шаблон их:
return $this->render('profile', [
	'user' => $user,
	'profile' => $profile,
	'passwordForm' => $passwordForm,
	'avatar' => $avatar,
]);

А можно подругому:
$data = [
	'user' => $user,
	'profile' => $profile,
	'passwordForm' => $passwordForm,
	'avatar' => $avatar,
];
return $this->render('profile', [
	'data' => $data,
]);


Ну и интересно, почему тот или иной вариант лучше?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
А есть разница? Выбор того или иного метода должен быть оправдан чем-то. Что быстрее, что проще читается? Что удобней. На мой взгляд в массива смысла нет, это менее гибко и требует лишнего кода, тогда зачем? Но в Вашей архитектуре это может быть оправдано.
Ответ написан
supervaleha
@supervaleha
Web-development
Согласен с постом выше. В этом конкретном случае нужно исходить или из Вашей архитектуры или из простого удобства.

Как по мне вариант первый - прощу и удобочитаемей.
Складывать все в массив стоило бы при передаче нескольких логических блоков, например:
$profile = [
  'user' => $user,
  'profile' => $profile,
  'passwordForm' => $passwordForm,
  'avatar' => $avatar,
];
$friends = [
  'list' => $list,
  'blocked' => $blocked
];
return $this->render('profile', [
  'profile' => $profile,
  'friends' => $friends
]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stasgar
@Stasgar
Обученная макака
return $this->render('profile', [  'user' => $user,  'profile' => $profile,  'passwordForm' => $passwordForm,  'avatar' => $avatar,]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы