Controller Mapper
Описание
Данный класс выполняет роль маршрутизатора по контроллерам в зависимости от запроса и его HTTP метода. Чтобы не возникало путаницы с именованием (Router)[Router], данный класс именуется как Mapper
Настройки
Нет
Использование
Для работы с данным классом предусмотрено три основных метода:
-
__construct($crud)- при инициализации объекта обязательно следует передавать объект типа (Crud)[Crud-Table] -
addMap($httpMethod, $module, $controller, $privilege)- добавление маршрута, возвращает объектBluz\Controller\Mapper\Link-
get($module, $controller, $privilege)- алиас для методаaddMap('GET', ..) -
post($module, $controller, $privilege)- алиас для методаaddMap('POST', ..) -
put($module, $controller, $privilege)- алиас для методаaddMap('PUT', ..) -
delete($module, $controller, $privilege)- алиас для методаaddMap('DELETE', ..)
-
-
run()- непосредственно запуск необходимого контроллера
/** * @acl Read * @acl Create * @acl Update * @acl Delete * * @accept HTML * @accept JSON */ return function () { $crud = new Crud(Test\Crud::getInstance()); $crud->get('system', 'crud/get') ->acl('Read') ->fields(['id', 'name']) ; $crud->post('system', 'crud/post') ->acl('Create') ->fields(['name', 'email']) ; $crud->put('system', 'crud/put') ->acl('Update') ->fields(['name']) ; $crud->delete('system', 'crud/delete') ->acl('Delete') ; return $crud->run(); };