====== lmbSetterDatasetDecorator ======
Класс lmbSetterDatasetDecorator используется, когда необходимо в каждую запись декорируемого итератора добавлять некоторые данные. Для указания, какие именно данные должны быть добавлены в запись, используются setter-ы.
Например:
$dataset = array (
array ('username'=>'jdoe'),
array ('username'=>'rsmith'),
);
$base = new lmbArrayDataSet($dataset);
$iterator = new lmbSetterDatasetDecorator($base);
$iterator->setUrl($url = 'http://example.com');
$iterator->rewind();
$current = $iterator->current();
echo $current->get('username') . ' ' . $current->get('url');
Выведет:
jdoe http://example.com
То есть, элемент итератора получил поле url. Обратите внимание, что названия поля, добавляемого при помощи lmbSetterDatasetDecorator, преобразуется в under_scores, то есть setMyField приведет к добавлению поля my_field.