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.