Php 路由变量不工作

Php 路由变量不工作,php,laravel,laravel-5,Php,Laravel,Laravel 5,为什么这条简单的路线行不通 Route::get('/test/{id?}', function ($id = 1) { return view('test'); }); 这是“测试”视图(test.blade.php)中的内容: 如果我进入: http://laravel.test/test 或 我总是会遇到这样的错误: This is a test: <?php echo e($id); ?>. "Undefined variable: id (View: /hom

为什么这条简单的路线行不通

Route::get('/test/{id?}', function ($id = 1) {
    return view('test');
});
这是“测试”视图(test.blade.php)中的内容:

如果我进入:

http://laravel.test/test

我总是会遇到这样的错误:

This is a test: <?php echo e($id); ?>.

"Undefined variable: id (View: /home/vagrant/code/test/resources/views/test.blade.php)"
这是一个测试:。
“未定义变量:id(视图:/home/vagrant/code/test/resources/views/test.blade.php)”

除非您明确地将管线参数传递给视图,否则管线参数在视图中不会自动可用。此调整将使其可用

Route::get('/test/{id?}', function ($id = 1) {
    return view('test', ['id' => $id]);
});

除非将管线参数显式传递给视图,否则管线参数在视图中不会自动可用。此调整将使其可用

Route::get('/test/{id?}', function ($id = 1) {
    return view('test', ['id' => $id]);
});

'/test/{id?}'
我认为您需要删除问号?@Malovich它不起作用。您需要将变量传递给视图
'/test/{id?}'
我认为您需要删除问号?@Malovich它不起作用,您需要将变量传递给视图。很容易!非常感谢。很容易!非常感谢。
Route::get('/test/{id?}', function ($id = 1) {
    return view('test', ['id' => $id]);
});