Создание URL страницы в приложении php - PullRequest
2 голосов
/ 11 января 2011

Я использую свой собственный очень легкий MVC-фреймворк (без класса Router).Чтобы узнать, какой контроллер и какое действие нужно запустить, я использую библиотеку или регулярные выражения, примененные к REQUEST_URI.Что-то вроде ...

$regexps = array(
    '/admin/categories/' => array(
        'controller' => 'AdminCategories', 
        'action'     => 'index'
    ),
    '/admin/categories/add/' => array(
        'controller' => 'AdminCategories',
        'action'     => 'add'
    ),
);

Все работает отлично, НО ...

Как лучше всего строить URL-адреса BUILD?

BuildUrl('Controller', 'action', array('var1' => 'val1', 'var2' => 'val2'));

Как лучше всего изменять текущий URL (например, у меня есть таблица с 10 различными вариантами фильтрации)?

ModCurrentUrl(array(...));

Как вы решаете эту проблему в своих приложениях?

PS: я не использую параметры действия контроллера, все параметры взяты из $ _GET.

Спасибо и извините за мой английский.

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Вот пара хороших ссылок для вас: http://robap.github.com/php-router/ http://code.google.com/p/routemap/ И я не вижу никаких признаков подкаталогов в вашем примере.В больших проектах это может быть хорошо.Сначала запросите метод класса маршрутизатора, оттуда вы получите реальные данные о маршруте.Во-вторых, вы отправляете эти данные диспетчеру, который запускает ваше приложение.

0 голосов
/ 11 января 2011

Лучшая практика (на мой взгляд) - иметь библиотеку с именем Routing (в основном класс) со статическими методами.Затем вы можете использовать Routing::buildUrl(...) и заполнить его всеми методами, связанными с URI, которые вы будете использовать (например, modCurrentUrl ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...