Frontend роутинг приложения Есть решение

Добрый день, можно ли настроить роутинг так, что бы урл разбирался как <module>/<action>/

т.е. например при запросе mysite.ru/app/data/save вызывался экшн save модуля data

2 ответа

  • 1
    Леонид Вакуленко Webasyst 1 июня 2015 09:19 # Решение

    Можно. Но в общем случае это плохая идея, потому что открывает возможность для атак через фронтэнд на бэкэнд-контроллеры. Не делайте так. Разве что на время разработки и отладки.

    Вот такое правило роутинга приложения делает то, что вы просите:

    '<module>/<action>/' => array(),

  • 1

    В файле lib/config/routing.php вашего приложения укажите маршрутизацию вот так:

    return array (
    'data/save/' => 'data/save', //относительный URL → сочетание модуля + экшена (либо контроллера)
    );

    Фреймворк будет искать обработчик запросов на такие URL в классе [app_id]DataSave[Action|Controller]

    • +1

      Правда, обычно обработчики URL фронтенда объединяют в модуль frontend, а не data, как в вашем случае, но, возможно, для вас это важно — смотрите по ситуации.

Добавить ответ

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