Используя Zend Routes? на индивидуальный URL - PullRequest
2 голосов
/ 23 февраля 2012

Меня это смущает.

Как настроить /state/state_name для замены на /state/state_name.php?

Изначально state_name - это переменная, и я не хочу каждыйо состоянии быть действием в моем StateController.Вместо этого я хотел бы взять эту переменную и обработать ее определенным действием loadAction() для работы с содержимым.

Это потому, что URL /state/state_name.php уже оптимизирован для SEO, и я хочу, чтобы он оставался вэту форму, используя Zend Framework.

Спасибо за любую помощь.Будем рады приветствовать любые предложения!

1 Ответ

2 голосов
/ 23 февраля 2012

Может быть что-то вроде:

$route = new Zend_Controller_Router_Route_Regex(
    'state/([^/]+)\.php',
    array(
        'controller' => 'state',
        'action'     => 'load',
    ),
    array(
        'state_name' => 1,
    ),
    'state/%s.php'
);

Но почему так важно сохранять суффикс .php?Во всяком случае, это излишне раскрывает основную серверную технологию, используемую для создания страницы.Что, если позже вы измените весь сайт на Ruby On Rails или на Django?Зачем связывать себя с PHP?

Если вы действительно любите суффикс, тогда я могу представить, что .htm или .html лучше.Но даже это ведет вас по пути с потенциально неприятным запахом.Что если вы захотите использовать этот же контроллер в качестве конечной точки запроса AJAX, который возвращает данные JSON или XML?

Лично я бы поставил суффикс на залог.

...