Skip to content
Anton edited this page Aug 30, 2017 · 5 revisions

Описание

Данный класс выполняет роль маршрутизатора по контроллерам в зависимости от запроса и его 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();
};
Clone this wiki locally