恐怕我有一个初学者的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类中使用公共类变量来重新发送变量,但这似乎有些笨拙。
答案 0 :(得分:2)
在PHP中,默认情况下,闭包无法访问其作用域之外的变量,您必须class MainView: UIViewController, UserDelegate {
// this should be enough
func changeName(name: String) {
self.helloLabel.text = "Hello \(name)!"
}
}
像这样:
use