关于微信模板消息获取token方法中的疑惑

来源:14-6 实现发送模板消息

稳稳地幸福

2017-06-20

public function get()
{
    $token = $this->getFromCache();
    if(!$token) {
        return $this->getFromWxServer();
    } else {
        return $token;
    }
}
//
private function getFromCache() {
    $token = cache(self::TOKEN_CACHED_KEY);
    if(!$token){
        return false;
    }
    return $token;
}

下面这个getFromCache方法是我修改的方法,老师的方法是先判断如果$token不为真,直接返回token? 不然就返回null?看这个get方法,如果第一次获取token,缓存肯定是没有的 那么我返回false,就会走那个getFromWxserver方法,如果不是false 直接返回token 所以老师的那个思路 我实在不能理解 为什么在getFromCache方法中 如果没有$token 直接返回token?

下面是老师代码

public function get()
{
    $token = $this->getFromCache();
    if(!$token){
        return $this->getFromWxServer();
    }
    else{
        return $token;
    }
}

private function getFromCache(){
    $token = cache(self::TOKEN_CACHED_KEY);
    if(!$token){
        return $token;
    }
    return null;
}


写回答

3回答

7七月

2017-06-20

确实是写错了,谢谢这位同学,和楼下两位细心的同学。近期会对这段视频做修正。

0
1
稳稳地幸福
非常感谢!
2017-06-20
共1条回复

runzx

2017-06-20

你好细心, 这应是打错了吧? 应该

if($token){

        return $token;

    }

    return null;

因为这原来全返NULL, 上层的函数都去微信取,程序运行正常, 不容易发现这问题。

1
2
7七月
回复
dear人格
有问题,一定要提出来,相信自己是对的,即使有时候自己是错的- -
2017-06-20
共2条回复

qq_三木时速_0

2019-04-25

private function getFromCache(){
    $token = cache(self::TOKEN_CACHE_KEY);
    if(!$token){
        return null;
    }
    return $token['access_token'];
}


0
0

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4839 学习 · 4386 问题

查看课程