gpt4 book ai didi

php - 将参数传递给 Symfony 的 $cache->get()

转载 作者:行者123 更新时间:2023-12-02 03:16:35 24 4
gpt4 key购买 nike

恐怕我有一个初学者 PHP 问题。我正在使用 Symfony 的缓存组件。 https://symfony.com/doc/current/components/cache.html

我在函数内部调用缓存对象,该函数接收 2 个参数($url、$params)。

class MainController extends AbstractController {
public function do($url, $params) {
$cache = new FilesystemAdapter();
return $cache->get('myCacheName', function (ItemInterface $c) {
global $url;
var_dump($url); // ---> null !!!!
}
}
}

我的问题是,我无法访问缓存方法调用中的函数参数。 $url 和 $params 为空。当然,我可以在 MainController 类中使用公共(public)类变量来来回发送变量,但这似乎有点笨拙。

最佳答案

在 PHP 中,默认情况下闭包无法访问其范围之外的变量,您必须像这样使用:

return $cache->get('myCacheName', function (ItemInterface $c) use ($url) {
var_dump($url); // ---> no longer null !!!!
}

关于php - 将参数传递给 Symfony 的 $cache->get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55948117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com