Laravel 如何结合这两条路线?
我有两条路线:Laravel 如何结合这两条路线?,laravel,laravel-4,routing,laravel-5,Laravel,Laravel 4,Routing,Laravel 5,我有两条路线: Route::post('/post', array( 'uses' => 'PostController@newPost' ) ); Route::post('/post/picture', array( 'uses' => 'PostController@newPost' ) ); 在实际控制器中,我区分了这两个参数(因为它们使用相同的控制器),但如何将上述两条路线组合起来?请尝试以下内容 Rou
Route::post('/post',
array(
'uses' => 'PostController@newPost'
)
);
Route::post('/post/picture',
array(
'uses' => 'PostController@newPost'
)
);
在实际控制器中,我区分了这两个参数(因为它们使用相同的控制器),但如何将上述两条路线组合起来?请尝试以下内容
Route::post('/post/{picture?}',
array(
'uses' => 'PostController@newPost'
)
);
Route::post('/post/{myvar?}',
array(
'uses' => 'PostController@newPost'
)
)->where('myvar','picture');;
在{}
括号中包装图片
,将该URL段视为一个参数。在参数末尾使用?
将其视为可选。有一点需要注意:这也会引起类似的问题
/post/some-other-thing
如果你想抓住其他项目,试试下面的方法
Route::post('/post/{picture?}',
array(
'uses' => 'PostController@newPost'
)
);
Route::post('/post/{myvar?}',
array(
'uses' => 'PostController@newPost'
)
)->where('myvar','picture');;
方法的第二个参数,其中
方法可以是任何PCRE正则表达式 如果picture
需要正好是单词picture
,该怎么办?您的路线允许url中的任何内容,如/post/hey
或/post/hello
。我只需要/post/picture
。但您更新的路线没有到控制器的链接。