2017-01-29 10 views
1

Глядя на altorouter Q & A, я нашел этот пример here о том, как вызвать именованный контроллер и метод при использовании altorouter.Вызов неназванного контроллера и метода в маршрутизаторе

$router->map('GET','/content/[:parent]/?[:child]?', 'content_controller#display_item', 'content'); 

Синтаксис

$router(method, route, target, name(optional)); 

я получаю, как отобразить способ, маршрут, но не понимаю, как получить целевой на карту/вызвать неназванный контроллер или метод ?.

ответ

0

Я попробовал это, и это, кажется, работает, но я все еще нуждаются в подтверждении, если это то, как мы должны к нему

$router->map('GET', '/[a:controller]/[a:action]?', function ($controller, $action = null) { 
    if ($action=='') {$action = 'index';} 
    if (method_exists($controller, $action)) { 
     $controller::$action(); 
    } else { 
     echo 'missing'; 
    } 
}); 

Здесь маршрутизатор /[a:controller]/[a:action]? и целевая функция

function ($controller, $action = null) { 
    if ($action=='') {$action = 'index';} 
    if (method_exists($controller, $action)) { 
     $controller::$action(); 
    } else { 
     echo 'missing'; 
     } 
    }); 

, которые получают неназванный контроллер и проверяют метод/действие. Если метод/действие - это нулевой индекс, присваивается переменной $ action, а затем отображается.

Пожалуйста, подтвердите, что это правильная война для вызова неопределенного контроллера и mehtod

 Смежные вопросы

  • Нет связанных вопросов^_^