Как правильно сделать шаблон в mvc php?

Вопрос по архитектуре. Использую модель mvc
Main.php
class Main extends Controller{
  function run(){
    $data = array( 'a' => 1, 'b' => array(1,2,3) );
    $this->view->render('main',$data);
  }
}


View.php
class View{
  function render($file,$data){
    include('template/'.$file);
  }
}


main.php
<h1><?php echo $data['a']; ?></h1>
<?php 
foreach($data['b'] as $value){
?>
<a href="<?php echo $value; ?>"><?php echo $value; ?></a>
<?php } ?>


В шаблонах для вывода данных приходится постоянно писать <?php echo $data; ?>, как можно сократить код до минимума, т.к. шаблон получается слишком раздутым.
  • Вопрос задан
  • 398 просмотров
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
<?=$data?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
evgeniy2194
@evgeniy2194
PHP, js developer
Используйте шаблонизатор smarty или twig например
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
В методе render вы можете выполнять extract($data);, тогда в шаблоне будут доступны переменные $a, $b и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы