是否有任何的方式来传递变量rememberForever回调?
问题描述:
我有下面的代码,是否有任何的方式来传递变量rememberForever回调?
\Cache::rememberForever('Roles', function() {
return RoleModel
::where('ParentRoleID' >= $CurrenctUserRoleID)
->get();
});
问题是:我收到错误
未定义的变量:CurrenctUserRoleID
问题:有没有办法通过可变回调?
答
你可以试试这个(注意使用use
关键字):
$CurrenctUserRoleID = 1; // Some id
\Cache::rememberForever('Roles', function() use($CurrenctUserRoleID) {
return RoleModel
::where('ParentRoleID' >= $CurrenctUserRoleID)
->get();
});
答
PHP.net - anonymous functions - 示例#3
你是不是有回调递东西,你是不是回调的调用者。你告诉PHP使用变量从父范围。
function (...) use (...) { ... }