Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何实施";默认值();对于路线中的多个参数-Laravel_Php_Laravel - Fatal编程技术网

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是的,我提到过这是一种方法,但可能不是最好的方法。好吧,我更喜欢这种解决方案。默认函数参数在我看来很难看。谢谢