Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
282 views
in Technique[技术] by (71.8m points)

一个不正常的PHP语法报错。

在本地服务器测试的时候,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("<script>alert('您没有权限查看此店铺信息, 请尝试更换身份');window.location.href='/index/logout'</script>");
            }
        }
    
        $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('<script>alert("您无权这么做");history.back();</script>');
        }
    }
}

下面是报错的截图
图片描述

在百度过程中看到大部分是说这个报错意思是说类引用符前面没有类名
看到报错结果事实“#3” createControolerById('');
这里没有类名 不知道是不是继承控制器的问题

想问下有没有遇到同样问题的人,有没有解决方案

百度到的相关文章
http://www.gemingcao.com/arch...
http://www.educity.cn/wenda/2...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...