传递$ object来查看

时间:2017-12-14 07:30:10

标签: php laravel laravel-5

我使用的是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

有什么建议吗?

1 个答案:

答案 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中实现的匿名函数会生成此类对象。”

     

PHP manual - class Closure