2017-08-23 14 views
1

私はLaravelを学習していますが、$ idのデフォルト値を設定しようとしています。Laravel 5.4 get routerにデフォルトIDを設定していません

例:私はhttp://localhost/laravel/blog/public/userを開いたときに

Route::get('/user/{id?}/', function ($id=1) { 
    echo 'user '. $id; 
}); 

しかし、私は唯一のuserの代わりuser 1ご覧ください。なぜこのようなことが起こっているのでしょうか?

+0

を出力し、test 2を出力し、 '$のid'は常にそれが空の場合でも関数に渡されますので、したがって、デフォルトでは割り当てられません。 – Joe

+0

これは理由が分かりますが、チュートリアルではそれが動作するのを見ています。あなたは彼らがそれ以降のバージョンで何かを変えたと思いますか? – user3628807

+2

'/ test/{id?}'と似たルートを持っています。 '/ test'に移動すると' Test:1'( '$ id = 1'があなたのような関数宣言にあるので)と'/test/5'は 'Test:5'を示し、基本的に、私はこれを再現することはできません。あなたはこれと矛盾している可能性のあるファイル内の他の経路を持っていますか? –

答えて

0
Route::get('test/{id?}', function($id = 1) { 
    echo 'test '.$id; 
}); 

これは私に役立ちます。私はfoo.com/test/2に行けば、それは私がfoo.com/testを入力した場合、それはtest 1

+1

これは私にとってはうまくいきません。 – Troyer

関連する問題