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

时间:2019-05-02 08:07:47

标签: php symfony symfony-cache

恐怕我有一个初学者的PHP问题。我正在使用Symfony的Cache组件。 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类中使用公共类变量来重新发送变量,但这似乎有些笨拙。

1 个答案:

答案 0 :(得分:2)

在PHP中,默认情况下,闭包无法访问其作用域之外的变量,您必须class MainView: UIViewController, UserDelegate { // this should be enough func changeName(name: String) { self.helloLabel.text = "Hello \(name)!" } } 像这样:

use