(blitz >= 0.1)
set — установка переменныхПример 17. set
Hello, {{$object}}!<?php
$Template = new Blitz('tpl');
$Template->set(array('object' => 'world'));
echo $Template->parse();
?>Hello, world!
Пример 18. set как «быстрый» способ установить целый массив итераций
<projects>
{{BEGIN project}}
<project label="{{$url}}" data="{{$id}}"/>
{{END}}
</projects><?php
$data = array (
'project' => array(
0 => array('url' => 'a', 'id' => '1'),
1 => array('url' => 'b', 'id' => '2'),
2 => array('url' => 'c', 'id' => '3'),
)
);
$Template = new Blitz('tpl');
$Template->set($data);
echo $Template->parse();
?><projects> <project label="a" data="1"/> <project label="b" data="2"/> <project label="c" data="3"/> </projects>
Один такой здоровый массив описывает N итераций, причем массивы могут быть любого уровня вложенности — короче можно не вызывать context/iterate/set, а сначала «приготовить» такую вот структуру данных, а потом одним махом засадить эти итерации в шаблон — иногда это удобно (к примеру, вместе с PDO::fetchAll(PDO::FETCH_ASSOC)) и вообще говоря, это работает очень быстро (blitz ctx arrays в benchmarks).
См. также set_global(), block().