Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$renderer = new Renderer($settings);
// добавить цепочечных вызовов, чтобы можно было строить такии конструкции
$menu = (new Menu)
->setTemplate('header')
->setItems([
'Main' => '/',
'About' => '/about',
// ...
]);
$renderer->append(new Header)
->append($menu)
->append(new LoginForm)
->setViewedFields('login', 'password');
$article = $renderer->append(new Article);
$article->setContent('...');
$article->setOpenGraph([
'author' => 'Mike',
'created' => '2021-05-24',
]);
$renderer->append(new Footer)
->append(new SubscribeForm)
->withCaptcha()
->append(clone $menu)
->setTemplate('footer');
echo $renderer->render();
Каким образом можно переиспользовать блок? Наследоваться и создавать новый класс с новым шаблоном?
Модульные frond-end блоки — пишем свой пакет. Часть 2