在 PHP 5.3.3 上,下面的代码将失败并出现以下错误。
没有类作用域处于活动状态时无法访问 static::
我知道这是因为匿名函数创建了自己的范围,并且不在类的范围内。那么是什么让它在 PHP 5.5.0 中工作?它也适用于 PHP 5.4 吗?PHP 5.3 不显式调用的解决方案是什么PathController::do_something()
<?php
class PathController
{
public function get_route()
{
return Response::json(Cache::remember('route_point', 10, function() {
$type_count = array();
foreach (array("Sprint", "Score", "Section") as $type) {
$type_count[$type] = static::do_something($type);
}
return $type_count;
}
}
//...
}