AlkatraZ, URL разбирается по следующему принципу
site/module/controller/method/список_аргументов
Для списка аргументов в качестве разделителя используется слеш.
Секция отвечающая за модуль не затрагивается, так как она ничего не даёт. Кол-во аргументов скриптом неограничено.
Аргументы как я уже упоминал передаются методу контроллера, поэтому элементы _GET массива использовать нет необходимости, хотя при желании такая возможность есть. Через .htaccess они никак не обрабатываются. Я обычно всегда очищаю массив _GET в своих проектах, но здесь я этого делать не стал, мало-ли может кому-то и понадобится.
Именовать аргументы ненужно, так-как там срезается массив и срез сразу передается методу без какой-либо обработки через call_user_func_array()
Screamer (13.07.2013 / 22:25)
Аргументы как я уже упоминал передаются методу контроллера, поэтому элементы _GET массива использовать нет необходимости, хотя при желании такая возможность есть. Через .htaccess они никак не обрабаты
Понадобиться действительно может, потому лучше все таки обрабатывать.
Хотя конечно это можно сделать и отдельно (я до вчерашнего дня тоже так делал), но вчера накатал новый роутер, кода получилось совсем мало, зато надежно парсит и path и query.
К примеру, следующий URL: твой_сайт/test/sub1/sub2/sub3/sub4/?act=dgsg&mod=Oleg достаточно сложный. Он содержит и path (часть разделенная слэшами) и query (после вопроса).
Роутер сваливает это добро (парсит) в 2 массива:
PATH = Array
(
[0] => test
[1] => sub1
[2] => sub2
[3] => sub3
[4] => sub4
)
QUERY = Array
(
[act] => dgsg
[mod] => Oleg
)
а далее, как хочешь, так и используешь.
Если ты в роутере ловишь $_SERVER['REQUEST_URI'] то там будет все, и path и query, тебе просто останется все правильно распарсить и готово.
AlkatraZ, ну пока ниразу не понадобилось, а исправить дело 5-ти минут.
Screamer, на твой пост (
13.07.2013 / 23:36) отвечу, подвижки есть какие или еще тогда забросил?