Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?php if ($category_tree && count($category_tree)): ?>
<?php foreach($category_tree as $category): ?>
<?= $category->name ?>
<?php endforeach; ?>
<?php else: ?>
No items in tree
<?php endif; ?>
<?= $category->name ?>?<? if ($category_tree && count($category_tree)): ?>
<? foreach($category_tree as $category): ?>
<?= $category->name ?>
<? endforeach; ?>
<? else: ?>
No items in tree
<? endif; ?>
<?= $category->name ?> у вас будет что-то вроде:<? $meta = $category->getMetaInformation(); ?>
<?= $meta['name'] ?>
{{ category.metaInformation.name }}
{{ category.metaInformation.name }}
$meta = $category->getMetaInformation();
echo $meta['name'];
echo $category->getMetaInformation()->getName();
$category. Это и называется отделением логики от представления.$category собирается в памяти, никуда не персистится и имеет структуру, которую я в начале привел. Что будете делать? Привяжете туда ActiveRecord или просто добавите публичные проперти, чтобы упростить шаблон?{{foo}}<?=$variable?>
<?foreach($arr as $v) {?>
<?print_r($v)?>
<?}?>
<?='<?xml version="1.0" encoding="UTF-8"?>'?>
<?php echo $foo ?>
<? if(true): ?>
<? endif; ?>
людям с развитым головным мозгомВоспринимать как оскорбление?
обсудить идею экранирования данных непосредственно перед отправкой в шаблонНу а я о чём писал? На мой взгляд, это противоречит MVC, т.к. представление должно решать в каком виде необходимы данные, а не контроллер.
На мой взгляд, это противоречит MVC, т.к. представление должно решать в каком виде необходимы данные, а не контроллер.
Уже и приведение типа к целочисленному GET параметра в контроллере не сделатьПричём тут это? Контроллер принял задачу, определил\обработал входные параметры, замучал модель и отправил итоговые данные в представление. А уж в каком виде их применит представление — дело 10-ое. Разве не так? На мой взгляд, в вашем случаем замусоривается контроллер.
Это и правдо глупоЯ использую XSLT, и никаких f() не вызываю, однако этим занимается сам шаблонизатор. Не вижу в этом никаких проблем, + всё очень гибко. Если мне в одном месте понадобится экранированные данные, а в другом нет — мне достаточно указать disable-output-escaping. Нет необходимости на уровне контроллера решать — какие данные мне передать в двух видах, какие экранировать, а какие нет. Особенно если учесть, что view-часть можно сильно измениться, без необходимости изменения логики получения итоговых данных.
А почему не экранировать данные шаблона непосредственно перед отправкой в представление?
<<??>?xml version="1.0" encoding="UTF-8"?<??>>
<? if: ?>Используете ли вы <?=шорттэги?> в темплейтах<? endif ?>