yii2 - 一个不正常的PHP语法报错。
ringa_lee
ringa_lee 2017-04-11 10:18:13
[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("");
            }
        }
    
        $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('');
这里没有类名 不知道是不是继承控制器的问题

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

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

ringa_lee
ringa_lee

ringa_lee

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号