0

我正在使用以下代码来使用路线,但我会为不同的路线重复相同的代码。

问题:避免重复的最佳方法是什么?我尝试过使用 getParameters 方法,但这不起作用,因为当我返回参数时,我需要将它们设置为一个变量,这使得代码变得多余。或者,也许我看错了。

我正在尝试使用“DRY”(不要重复自己)。有人可能会更改参数名称,所以这很有帮助。

$app->get( '/blog', function() use ($app){ //same code as below });


$app->get( '/link', function() use ($app){
$link = new linksApi();

//call question api


$username = $app->request()->params('username');
$company = $app->request()->params('company'); // tags
$follower = $app->request()->params('follower');    
$max = $app->request()->params('max');    
$date = $app->request()->params('date');    
$date_value = $app->request()->params('date_value');    
$oldest = $app->request()->params('oldest');    
$counts = $app->request()->params('counts');    
$sorts = $app->request()->params('sorts');    
$counts = $app->request()->params('counts');    
$format = $app->request()->params('format');    

});
4

1 回答 1

0

如果您担心性能,则使用它是不明智的,但是在这里:

$routes = array(
    'username',
    'company',
    'follower',
    'max'
    // ...
);

foreach($routes as $r) {
    ${$r} = $app->request()->params($r);
}
于 2013-05-30T11:13:04.893 回答