1) yii グローバル アプリ パラメータを使用できます
Yii::$app->params['foo'] = 'bar'; // controller
と
echo Yii::$app->params['foo']; // in view/layout/controllers/elsewhere
2) セッションを利用できます。次の 3 つの関数を使用して、他の人によって拡張されるコントローラーを作成します。
<?php
namespace common\components;
use Yii;
use yii\web\Controller;
class BaseController extends Controller
{
/**
* Set user flash notice
* @param $message
* @return mixed
*/
public function setFlash($key, $message){
return Yii::$app->session->setFlash($key, $message);
}
/**
* Has user flash notice
* @param $message
* @return mixed
*/
public function hasFlash($key){
if(Yii::$app->session->hasFlash($key)) return True;
else return false;
}
/**
* Get user flash notice
* @param $message
* @return mixed
*/
public function getFlash($key){
return Yii::$app->session->getFlash($key);
}
}
今あなたのコントローラに
use common\components\BaseController;
...
class MyController extends BaseController
...
$this->setFlash('foo','bar'); // setting flash var
そしてあなたの見解では
echo $this->context->getFlash('foo'); // getting flash var
また
echo Yii::$app->controller->getFlash('foo'); // getting flash var