调用fn时未定义的变量

杰克

我在Laravel中有这个非常简单的功能,

public function getImage($slug){

    // This return an error
    $cached = Cache::remember('Test', 10, function(){
        $images = $this->allImages();

        // Undefined var $slug
        return file_get_contents($images[$slug]['image-url']);
    });

    // This works
    // $images = $this->allImages();
    // $cached = file_get_contents($images[$slug]['image-url']);

    $headers = [
        'Content-Type'      =>  'image/jpeg',
        'Cache-Control'     =>  'max-age=600'
    ];

    return Response::make($cached, 200, $headers);
}

这可能是一个愚蠢的问题,但是我已经很长时间没有使用PHP了,绕开了为什么$ slug未定义的原因?

jedrzej.kurylo

当您创建一个匿名函数/闭包,然后传递给Cache :: remember()时,您需要从父作用域中明确列出所有应在该函数作用域中使用的变量。

use语句用于此操作-以下代码应正常工作:

$cached = Cache::remember('Test', 10, function() use($slug) {
    $images = $this->allImages();

    // Undefined var $slug
    return file_get_contents($images[$slug]['image-url']);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:调用包含变量的函数时,变量未定义

来自分类Dev

Python:调用包含变量的函数时,变量未定义

来自分类Dev

未定义时在类对象中调用的变量?

来自分类Dev

调用函数上的未定义变量

来自分类Dev

调用htmlspecialchars时未定义的索引

来自分类Dev

加载时未定义JavaScript变量;

来自分类Dev

脚本-未定义时忽略变量

来自分类Dev

未定义的变量在定义变量时发出通知

来自分类Dev

定义变量时出现未定义变量错误

来自分类Dev

在AJAX调用后在rails中渲染局部时的未定义形式变量

来自分类Dev

NameError:在尝试测试调用位于方法中的变量的输出时在 RSpec 中未定义

来自分类Dev

未定义的变量:

来自分类Dev

变量未定义

来自分类Dev

变量未定义

来自分类Dev

未定义变量

来自分类Dev

尝试使用onChange填充变量时未定义的变量

来自分类Dev

定义变量时无法读取未定义的属性“查找”

来自分类Dev

流星调用结果具有未定义的实例变量

来自分类Dev

范围变量调用http服务保持未定义

来自分类Dev

流星调用结果具有未定义的实例变量

来自分类Dev

由于未定义变量,无法通过AJAX调用

来自分类Dev

模板变量的调用方法给出“未定义”异常

来自分类Dev

jQuery.fn.dataTable未定义

来自分类Dev

Javascript:变量不是未定义的,但在返回时,被返回未定义

来自分类Dev

尝试在contentScript中调用函数时“未定义函数”

来自分类Dev

调用内联函数时未定义的引用

来自分类Dev

使用$ timeout调用angularjs函数时,“ this”(对象)未定义

来自分类Dev

AJAX调用失败时出现未定义的Javascript错误

来自分类Dev

片段中调用getSystemServices时未定义?

Related 相关文章

热门标签

归档