Php 如何实施";默认值();对于路线中的多个参数-Laravel
因此,我有一个带有两个参数的Php 如何实施";默认值();对于路线中的多个参数-Laravel,php,laravel,Php,Laravel,因此,我有一个带有两个参数的POSTURL,我想为这两个参数分配默认值 我知道您可以通过一个参数为URL实现这种方式: Route::post('activity-log/datatable/{tag_access?}/{page_access?}', 'SettingsController@datatable_activity_log') ->defaults('tag_access', 'activity-log'); 但我该如何使用如下URL: Route::post('activ
POST
URL,我想为这两个参数分配默认值
我知道您可以通过一个参数为URL实现这种方式:
Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')
->defaults('tag_access', 'activity-log');
但我该如何使用如下URL:
Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')
Route::post('activity-log/datatable/{tag_access?}/{page_access?}','SettingsController@datatable_activity_log')
您可以通过以下方式实现: 保持您想要的路线,如下所示:
Route::post('activity-log/datatable/{tag_access?}/{page_access?}',
'SettingsController@datatable_activity_log')
Route::post('activity-log/datatable/{tag_access?}/{page_access?}','SettingsController@datatable_activity_log')
现在,在控制器函数中,您可以使用如下默认值获取这些参数
public function datatable_activity_log($tag_access='activity-log', $page_access='activity-log', Request $request){
// Here write your logic
}
这可能不是实现您想要的目标的最佳方式,但这是其中一种方式。从我看到的有关默认值使用的情况来看,您可以一次执行一个:
Route::post('activity-log/datatable/{tag\u access?}/{page\u access?}),
'SettingsController@datatable_activity_log')
->默认值('tag_access'、'activity log')
->默认值(“页面访问”、“默认值”);
另一种选择(因为默认值是公共的)是:
$route=route::post('activity-log/datatable/{tag\u access?}/{page\u access?}',
'SettingsController@datatable_activity_log');
$route->defaults=['tag\u access'=>'活动日志','page\u access'=>'defaultValue'];
我个人最喜欢的是@Sagar Gautam建议使用默认函数参数 谢谢你的回答,但我认为默认参数会更整洁。所以这不可能吗?@IkechukwuKalu是的,我提到过这是一种方法,但可能不是最好的方法。好吧,我更喜欢这种解决方案。默认函数参数在我看来很难看。谢谢