В документации полно примеров как вызвать метод контроллера для обработки конкретного url. Например:
Route::get('user/profile', 'UserController@showProfile')
Но что делать, если контроллер нужно вызвать после проверки параметров в анонимной функции?
Route::get('{rubric}/{article?}', function($rubric, $article = null){
if(is_null($article)){
Controller::call('BlogController@main'); //Не работает
} else{
...
}
});
Я бы посоветовал использовать для этой цели редирект:
Route::get('{rubric}/{article?}', function($rubric, $article = null){
if (is_null($article)) {
return redirect(action('BlogController@main'));
} else {
...
}
});
Судя по вашему примеру кода, вам подойдет решение в виде двух записей в файле с маршрутами:
Route::get('{rubric}/{article}', function($rubric, $article){
// ...
});
Route::get('{rubric}', 'BlogController@main');
Тогда первый маршрут останется замыканием и обработкой одной статьи, а второй маршрут отработает страницу всей рубрики.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости