• bostonboston Апрель 2011
    Встроил роутер от Kohana. На данным этапе интеграция сделана через перенесение некоторых зависимостей и заглушек для классов, вообще его надо почистить под наши реалии и переписать внутреннюю структуру с объектов на массивы (экономия памяти).

    Немного правил на текущий момент:
    1. Правила роутинга хранятся централизованно в app/routes.php
    2. Правила роутинга хранятся в виде массива такой структуры:

    return array(
    //'default' => array('href' => '', 'action' => 'mainpage', 'task' => 'index'),
    //'content' => array('href' => 'content', 'action' => 'content', 'task' => 'index'),
    'default' => array(
    'href' => '',
    'defaults' => array('controller' => 'mainpage', 'action' => 'index')
    ),
    'login' => array(
    'href' => 'login',
    'defaults' => array('controller' => 'users', 'action' => 'login')
    ),
    'lostpassword' => array(
    'href' => 'lostpassword',
    'defaults' => array('controller' => 'users', 'action' => 'lostpassword')
    ),
    'register' => array(
    'href' => 'register',
    'defaults' => array('controller' => 'users', 'action' => 'register')
    ),
    'user_view_by_login' => array(
    'href' => 'user/view-<id>/<username>',
    'params_rules' => array('id' => '\d+', 'username' => '\w+'),
    'defaults' => array('controller' => 'users', 'action' => 'view')
    ),
    'contacts' => array(
    'href' => 'feedback',
    'defaults' => array('controller' => 'contacts', 'action' => 'index')
    ),
    );


    Формирование ссылок на нужный роут:
    joosRoute::href('user_view_by_login', array('username'=>'boston','id'=>123) );
    Роутер найдёт правило user_view_by_login, дополнит его параметрами username и id, и сформирует итоговую ссылку: http://www.joostinagit.local/user/view-123/boston
  • ArkadiyArkadiy Апрель 2011
    А расширение собственными правилами компонентов есть?
  • bostonboston Апрель 2011
    Сейчас все правила роутинга хранятся в одном файла, в планах добавить возможность прописывать роуты отдельных компонентов в его каталоге и подключать при необходимости :)

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились