我使用的是Laravel Framework 5.5.25和PHP 7.1.12。
我想将定义的对象传递给视图。我尝试了以下方法:
Route::get('/tasks', function getTask(TaskDataTable $dataTable) {
return $dataTable->render('users.index');
});
但是,我收到以下错误:
Symfony\Component\Debug\Exception\FatalThrowableError thrown with message "Parse error: syntax error, unexpected 'getUsers' (T_STRING), expecting '('"
Stacktrace:
#0 Symfony\Component\Debug\Exception\FatalThrowableError in /home/ubuntu/workspace/routes/web.php:18
有什么建议吗?
答案 0 :(得分:1)
这不是有效的PHP:
Route::get('/tasks', function getTask(TaskDataTable $dataTable) {
return $dataTable->render('users.index');
});
您正在尝试在另一个语句中定义名为getTask
的函数。
我想你想要一个可以作为Closure传递的匿名函数:
Route::get('/tasks', function (TaskDataTable $dataTable) {
...
});
“匿名函数,也称为闭包,允许创建没有指定名称的函数。它们作为回调参数的值非常有用,但它们有许多其他用途。”
PHP manual - anonymous functions
“用于表示匿名函数的类。在PHP 5.3中实现的匿名函数会生成此类对象。”