没有不值得去解决的问题,也没有不值得去学习的技术!

在 PhpStorm 中,提示:Return value is expected to be ‘array’, ‘bool’ returned less… (Ctrl+F1) 的解决

在 PhpStorm 中,提示:Return value is expected to be 'array', 'bool' returned less... (Ctrl+F1)
1、在 PhpStorm 中,提示:Return value is expected to be ‘array’, ‘bool’ returned less… (Ctrl+F1),如图1
在 PhpStorm 中,提示:Return value is expected to be 'array', 'bool' returned less... (Ctrl+F1)
图1


    /**
     * 返回用户详情
     *
     * @param string $loginId 用户标识
     * @param string $loginTid 登录标识
     *
     * @return array
     *
     * 格式如下:
     *
     * 框架服务控制台的用户详情
     * [
     *     'message' => '', //说明
     *     'data' => [], //数据
     * ]
     *
     * 失败(将错误保存在 [[yii\base\Model::errors]] 属性中)
     * false
     *
     * @throws ServerErrorHttpException 如果响应状态码不等于20x
     * @throws HttpException 如果登录超时
     */
    public function getUser($loginId, $loginTid)
    {
        $requestParams = [
            'login_id' => $loginId,
            'login_tid' => $loginTid,
            'url' => 'interface/get-user-info',
        ];
        $apiRequestParams = self::getApiRequestParams($requestParams);
        $response = Yii::$app->cmcConsoleHttp->createRequest()
            ->setMethod('get')
            ->setUrl($requestParams['url'])
            ->setData($apiRequestParams)
            ->send();
        // 检查响应状态码是否等于20x
        if ($response->isOk) {
            // 检查业务逻辑是否成功
            if ($response->data['code'] === 10000) {
                $cmcConsoleData = ['message' => $response->data['message'], 'data' => $response->data['data']];
                return $cmcConsoleData;
            } elseif ($response->data['code'] === 99998) {
                // 登录超时
                throw new HttpException(302, Yii::t('error', Yii::t('error', Yii::t('error', '201003'), ['message' => $response->data['message']])), 201003);
            } else {
                $this->addError('login_id', $response->data['message']);
                return false;
            }
        } else {
            throw new ServerErrorHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '201001'), ['status_code' => $response->statusCode])), 201001);
        }
    }


2、Return value is expected to be ‘array’, ‘bool’ returned less… (Ctrl+F1) Inspection info: Return value type is not compatible with declared. 返回值预计为 ‘array’,’bool’ 返回的较少…(Ctrl + F1)检验信息:返回值类型与声明不兼容。 3、在返回值类型声明处,加上或者返回布尔值的情况,提示信息已取消,如图2
在返回值类型声明处,加上或者返回布尔值的情况,提示信息已取消
图2



     * @return array|bool


4、此类问题的最佳解决方案的建议,在方法中,仅返回某一种数据类型,而不是以或者的关系返回多种

需要长期技术维护或远程问题排查?

我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。

如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:

  • ✅ PHP / Laravel / Yii2 老项目无人维护
  • ✅ Go / Gin 后端接口需要排查或优化
  • ✅ WordPress 网站访问慢、报错或插件冲突
  • ✅ Nginx / MySQL / Redis / Linux 服务器异常
  • ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
  • ✅ 需要长期远程技术支持或兼职维护

更多介绍请查看:关于我 & 合作

微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理