Как создать переменную в Yii2, работающую и в view и в layout?

В Yii2, для создания переменной, которая будет доступна как в View, так и в Layout, можно использовать такой метод:

1. В контроллере, в котором вы хотите создать эту переменную, объявите ее как public свойство. Например, вам нужно создать переменную с именем "myVariable", которая будет содержать какие-то данные:

class MyController extends yiiwebController
{
    public $myVariable;
    
    public function actionIndex()
    {
        $this->myVariable = 'Hello, world!';    
        return $this->render('index');
    }
}

2. В файле Layout, чтобы получить доступ к переменной, используйте специальный синтаксис <?= $this->context->myVariable ?>. Например, вам нужно вывести значение переменной в блоке <title>:

<head>
    <title>My Website - <?= $this->context->myVariable ?></title>
</head>

3. В файле View, также используйте синтаксис <?= $this->context->myVariable ?>, чтобы получить доступ к переменной. Например, вам нужно вывести значение переменной на странице:

<?= $this->context->myVariable ?>

Таким образом, создавая публичное свойство в контроллере и обращаясь к нему через $this->context->myVariable, вы сможете использовать переменную как в View, так и в Layout.