此功能扔我“封闭对象不能有属性”错误:错误“封闭对象不能有属性”
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);
}
}
什么是'课堂'?这可能是你的项目中的一个自定义类,并且不知道它的构造函数的参数是什么(以及闭包的做法),我们可能无法帮助你。 –
我添加了类 – Mit