laravel项目配置Facades Redis自动补全,方法查看

问题原因:

因为Laravel的Redis连接实例是通过RedisManger的工厂类创建的,返回的是一个mixin的类型,因此在IDE中不能自动补全Redis的方法,缺少这个功能,使用起来有些麻烦,尤其是Redis有数十个方法,每个方法也有不少参数。

相关部分的代码如下:

/**
 * @mixin \Illuminate\Redis\Connections\Connection
 */
class RedisManager implements Factory

.......

    /**
     * Get the connector instance for the current driver.
     *
     * @return \Illuminate\Contracts\Redis\Connector
     */
    protected function connector()
    {
        $customCreator = $this->customCreators[$this->driver] ?? null;

        if ($customCreator) {
            return $customCreator();
        }

        switch ($this->driver) {
            case 'predis':
                return new PredisConnector;
            case 'phpredis':
                return new PhpRedisConnector;
        }
    }

解决方案

下面先看下最终的效果:
下图中可以看到,输入Redis Facades静态类名后,后面会自动提示方法名和方法参数。
在这里插入图片描述

这里借助的工具laravel-ide-helper

参考资料: Redis autocomplete not work? #519

项目中的安装文档需要安装相应的依赖,虽然可以区分环境安装,依赖安装后可以生成对应的帮助类文件(_ide开头的文件,主要是IDE来使用的)。
如果不想安装,可以直接将生成的_ide开头的文件,复制到自己项目的根目录中即可,IDE可以自动识别(缺点是不能自动更新,不过没有太多更新需要的话,直接复制文件,同时将文件加到 gitignore中,则比较清洁)。

主要需要两个文件:
_ide_helper.php, 这个是安装依赖后,通过命令生成的(可以直接从别处考来,也可以安装依赖后,生成,再卸载依赖)

composer require --dev barryvdh/laravel-ide-helper
php artisan ide-helper:generate
#composer remove --dev barryvdh/laravel-ide-helper

另外一个文件是_ide_helper_redis.php, 这个文件主要是为Redis类添加了方法描述,IDE正是通过这个文件实现的自动补全。可以从上面的github issue下载,也可以自己编辑维护。

下面只是一个示例(可能缺失某些方法,大家可以自己进行修改):

<?p
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值