(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()
.