URL-маршрутизация против нескольких скриптов - PullRequest
2 голосов
/ 05 ноября 2010

Я пытаюсь понять преимущества использования URL-маршрутизации (URL-диспетчеризация) по сравнению с простым запуском кода из разных скриптов.Помимо более симпатичных URL-адресов (которые могут быть выполнены через htaccess с использованием любой модели), зачем мне указывать / archive / to dispatcher.php? Path = / archive / вместо, скажем, простого переписывания / * / в * .php?Или лучше с точки зрения повторного использования кода?Организация?Обработка ошибок?

Вы когда-нибудь переключались с одной модели на другую?Почему ты это сделал?Сколько работы влечет за собой переключение?

Для контекста я в настоящее время использую метод множественных сценариев.Среда Apache + PHP.Это проект среднего размера (40+ php-страниц верхнего уровня).

Ответы [ 2 ]

6 голосов
/ 05 ноября 2010

Одним из основных преимуществ маршрутизации является то, что вы можете сделать это условно, принимая решение о том, куда адреса маршрутизируют, основываясь на пользовательских данных, значениях сеанса, времени суток или чем-либо еще.Большинство моих проектов слишком просты, чтобы использовать этот метод, но если вы попадаете в более сложную систему, я думаю, что контроль над маршрутизацией в коде дает вам дополнительные возможности и опции.

1 голос
/ 05 ноября 2010

Как говорили другие люди, это отлично подходит для создания красивых URL. Абсолютно сложно вручную обновлять .htaccess.

Мое личное любимое преимущество маршрутизации URL-адресов заключается в том, что вашему приложению не придется использовать pesky-включения на каждой странице, как вы можете сделать это в php-коде страницы маршрутизации. Вы также можете написать автозагрузчик класса , и вам больше никогда не придется писать слово «include».

Если вы используете относительные пути, а не абсолютные, вы всегда можете делать все, что касается расположения вашего файла маршрутизации, вместо того, чтобы отслеживать, в какой папке вы находитесь, и исправлять все это, когда вы решите переместить файл из одной папки в другую.

Очень легко определить константы для всего приложения. Например, я нигде не жестко прописал название своего веб-сайта, вместо этого выбрав echo SITE_NAME;, и тогда мои дизайнеры решили изменить имя веб-сайта дважды. К счастью, эта константа, определенная на верхнем уровне, была доступна везде, без необходимости включать на каждой странице.

Еще одним преимуществом является то, что очень легко делать ошибки, исключения и протоколирование 404 / обработку, когда у вас есть один файл верхнего уровня для всего.

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