set

(blitz >= 0.1)

set — установка переменных

bool set ( array parameters )

Пример 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().