我对Laravel中RateLimiter的hit方法的代码感到困惑

时间:2019-12-07 09:48:30

标签: php laravel

    public function hit($key, $decaySeconds = 60)
    {
        $this->cache->add(
            $key.':timer', $this->availableAt($decaySeconds), $decaySeconds
        );

        $added = $this->cache->add($key, 0, $decaySeconds);

        $hits = (int) $this->cache->increment($key);

        dump($added);
        dump($hits);

        if (! $added && $hits == 1) {
            $this->cache->put($key, 1, $decaySeconds);
        }

        return $hits;
    }

嗨,我认为它永远不会执行到IF中。

我的测试有结果。

$added : true      $hits : 1
$added : false     $hits : 2
$added : false     $hits : 3

请帮助我理解if块。

0 个答案:

没有答案