【发布时间】:2017-11-13 17:28:55
【问题描述】:
这个函数给我一个“闭包对象不能有属性”的错误:
public function activitiesSummaryAction()
{
$classes = array();
for($i = 1; $i <=10; $i++)
{
array_push($classes, new Classroom($i, function(){
$activites = array();
for ($i = 1; $i <=10; $i++)
{
array_push($activites, new Activity(rand(1,7), rand(2016,2018)));
}
return $activites;
}
));
}
return $this->render('teacher/activitiesSummary.html.twig', [
'classes' => $classes,
]);
}
其实我不确定 PHP 是否可以支持这种回调函数。谁能告诉我如何纠正这个问题或让它以其他方式工作?
已编辑:以下是课堂和活动课程:
class Activity {
public $_id;
public $_annee;
public $_inProgress;
function __construct($id, $annee) {
$this->_id = $id;
$this->_annee = $annee;
$this->_inProgress = rand(0,1);
}
}
class Classroom {
public $_id;
public $_activities;
function __construct($id, $activities) {
$this->_id = $id;
$this->_activities = array($activities);
}
}
【问题讨论】:
-
什么是
Classroom?它可能是您项目中的自定义类,并且不知道其构造函数的参数是什么(以及闭包做了什么),我们可能无法帮助您。 -
我添加了课程