Я не юзал данное чудо свойство, но Вы меня заинтересовали, полез в ядро и накопал следующее:
В yii\rbac\DbManager есть метод addItem
/**
* @inheritdoc
*/
protected function addItem($item)
{
$time = time();
if ($item->createdAt === null) {
$item->createdAt = $time;
}
if ($item->updatedAt === null) {
$item->updatedAt = $time;
}
$this->db->createCommand()
->insert($this->itemTable, [
'name' => $item->name,
'type' => $item->type,
'description' => $item->description,
'rule_name' => $item->ruleName,
'data' => $item->data === null ? null : serialize($item->data),
'created_at' => $item->createdAt,
'updated_at' => $item->updatedAt,
])->execute();
$this->invalidateCache();
return true;
}
А значит при создании любой item, а это может быть роли или правило, можно к ней прикрепить произвольные данные. Например:
$role = Yii::$app->authManager->createRole('admin');
$role->description = 'Администратор';
$role->data = ['roleColor'=>'#fff', 'razmer_sisek'=>5];
Yii::$app->authManager->add($role);
Что бы потом юзать, например для смены фона или более полезных вещей. Пока не пробовал, но должно работать. Как-то так:
<?php
$role = Yii::$app->authManager->get('admin');
$bgcolor = $role->data['roleColor'];
?>
<body style="background-color:<?=$bgcolor?>;">