Пишу на данный момент MVC приложение на PHP, и возник вопрос по поводу вывода информации, полученной из модели.
На данный момент реализация следующая. Каждый "главный" (вызываемый из контроллера) метод модели возвращает многомерный массив, ключами которого является "тип"(warn, stat, sites, etc) информации, а в значениях уже массив с данными.
Этот массив передается в следующий метод V:
public function generate($page, $data = null)
{
if($data) {
foreach($data as $x => $v) {
if($x == 'warn') {
$this->site_warning = $this->get_warning($v);
}
if($x == 'data') {
$this->data = $v;
}
if($x == 'task') {
if($v) {
foreach($v as $line) {
//...
}
}
}
if($x == 'stat') {
$this->stat = $v;
}
}
}
include('app/views/' . $page);
}
И в самих вьюшках я уже пишу:
if(isset($this->stat['zones'])) {
foreach($this->stat['zones'] as $k => $v) {
echo "<tr>";
echo "<td>{$k}</td>";
echo "<td>{$v}</td>";
echo "</tr>";
}
}
где $this->stat
- свойство класса View, которое заполняется как раз в методе generate, когда ловится ключ 'stat'
.
Правильный ли это подход или стоит сделать как-то иначе? Если да, то как именно? Спасибо.