Ger*_*ied 2 php symfony symfony-cache
恐怕我有一个 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 !!!!
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我无法访问缓存方法调用内部的函数参数。$url 和 $params 为空。当然,我可以在 MainController 类中使用公共类变量来来回发送变量,但这似乎有点笨拙。
小智 7
在 PHP 中,默认情况下,闭包无法访问其范围之外的变量,您必须use像这样:
return $cache->get('myCacheName', function (ItemInterface $c) use ($url) {
var_dump($url); // ---> no longer null !!!!
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |