在本地服务器测试的时候,yii2自动导入类没有导入我自己新建的基础控制器
然后在进行新导入controller文件时报这个语法错误,baseController类名没有
class BaseController extends Controller
{
public function beforeAction($action)
{
if (parent::beforeAction($action) == false) {
// return false;
}
if (YII_ENV_TEST) {
return true;
}
if (Yii::$app->getUser()->getIsGuest()) {
$this->redirect(["/index/login"]);
return false;
}
$sessionId = Yii::$app->getSession()->getId();
$redis = Yii::$app->getRedis();
$loginUser = Yii::$app->getUser();
$storeArray = json_decode($redis->hGet($sessionId, "store_array"), true);
//$storeArray = $session->get('storeArray');
if (!empty(STORE)) { //这边是报错的63行
if (!in_array(STORE, $storeArray)) {
exit("");
}
}
$permission = json_decode($redis->hGet($sessionId, "user_permission"), true);
if (empty($permission)) {
$permission = (array)Yii::$app->getAuthManager()->getPermissionsByUser(Yii::$app->getUser()->getId());
foreach ($permission as &$item) {
$item = true;
}
$redis->hSet($sessionId, "user_permission", json_encode($permission));
}
$loginUser->setAccess($permission);
//$permission = $this->manager->getPermissionsByRole(Yii::$app->getUser()->getId());
//$this->session->set("userPermission", $permission);
$route = Yii::$app->getUrlManager()->parseRequest(Yii::$app->getRequest())[0];
$routePermission = $this->manager->getPermissionByData($route);
if (is_object($routePermission) && $loginUser->can($routePermission->name)) {
return true;
}
if (Yii::$app->getRequest()->getIsPost()) {
exit(json_encode(['status' => 0, 'code' => 500, 'message' => '权限不足,操作未完成']));
} else {
// return $this->redirect('/index/logout');
exit('');
}
}
}
下面是报错的截图
在百度过程中看到大部分是说这个报错意思是说类引用符前面没有类名
看到报错结果事实“#3” createControolerById('');
这里没有类名 不知道是不是继承控制器的问题
想问下有没有遇到同样问题的人,有没有解决方案