我有一个页面,我想显示天气。但天气取决于时区。 我不想做这样的路线:
Route::get('/weather/{timezone}', array('uses' => 'MyController@method'));
对我这样做更方便:
Route::get('/weather/Paris', array('uses' => 'MyController@method', 'timezone' => 'Europe/Paris'));
但我不知道该怎么做。这不是唯一的情况。一般的问题是:当我想根据我的网址将某些内容传递给控制器时,但它可能比用户ID或类似内容更复杂
有可能吗?
答案 0 :(得分:2)
我不确定为什么更方便你在routes.php中硬编码路由及其相应的参数
简单地在{timezone}参数中接受城市名称并从查找表中获取相应的时区不是更好吗?
Route::get('weather/{city}', array('uses' => 'MyController@method'));
MyController ::方法函数定义:
function method ($city) {
// convert city name to timezone
$timezone = cityToTimezone($city);
// Use $timezone as you need to
}
无论如何,要回答你的问题,不。我没有在Laravel文档中发现过任何可能的建议。