我在yii2主安装目录中放置了一个自定义脚本,并且我需要在此脚本中知道用户是否已登录yii2主应用程序(称为前端)。我使用此代码
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
$yiiConfig = require __DIR__ . '/../config/yii/web.php';
new yii\web\Application($yiiConfig); // Do NOT call run() here
来自:https://www.yiiframework.com/doc/guide/2.0/en/tutorial-yii-integration#using-yii-in-others
并使用此代码
Yii::$app->user->identity->id;
但是它抛出该应用变量不可用。我尝试了其他组合,但无济于事。
您需要做的就是将yii\web\Application
的实例存储在某个变量中。然后,您可以使用该变量代替Yii::$app
。
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
$yiiConfig = require __DIR__ . '/../config/yii/web.php';
$app = new yii\web\Application($yiiConfig); // Do NOT call run() here
echo $app->user->identity->id;