2013-04-25 3 views
0

Я использую следующий код, чтобы использовать маршрут, но я повторю тот же код для другого маршрута.Slim Framework: D.R.Y

Вопрос: Какой был бы лучший способ избежать повторения? Я пробовал использовать метод getParameters, но это не сработало, потому что, когда я возвращаю параметры, мне нужно установить их в переменную, что делает код избыточным. Или, может быть, я смотрю неправильно.

Я пытаюсь использовать «СУХОЕ» (не повторяйте себя). Кто-то может изменить имена параметров, чтобы это было полезно.

$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');  

}); 

ответ

0

Не разумно использовать его, если вы беспокоитесь о производительности, но здесь идет:

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

foreach($routes as $r) { 
    ${$r} = $app->request()->params($r); 
}