Простой роутер - Comments

RSS
3

Пришелец
Велосипед.
А

Землянин
3KZO, сейчас 99% кода можно назвать велосипедом т.к. в популярных скриптах уже есть решения почти любых задач и я не говорю что это супер бупер эксклюзивное решение =)
I

Пришелец
Определяешь переменные $application_name и $action_name, но не используешь их. Исправь.
А

Землянин
iNeeXT, спасибо поправил.
I

Пришелец
klesh, здесь нужно изменить:
else 
{ 
    // Если неверное приложение то на главную 
    $application_path = strtolower(CORE_DIRECTORY . '/application/main/index.php'); 
    require $application_path; 
}
А

Землянин
iNeeXT, тогда уже думаю лучше немного переписать. Задавать дефолтные значения приложения и экшена если что то из них не было передано то присваивать дефолтное. И так же их использовать в пути если заданное приложения не существует. Короче изменил код. Если есть еще предложения/замечания буду рад выслушать.
А

Землянин
В предыдущем варианте $application_name и $action_name задавались дефолтные значения но если передавались другие то заменялись новыми т.е. если передали "domaine.ru/book" то $application_name с "main" заменялся на "book" а $action_name так и оставался "index". Поэтому эти переменные нельзя было вписывать в пути приложения по умолчанию и получалось их значения нужно было прописывать в двух местах.
I

Пришелец
Думаю, так будет лучше:

// Получаем имя приложения
$application_name = !empty($routes[1]) ? $routes[1] : $application_name_default;
// Получаем имя экшена
$action_name = !empty($routes[2]) ? $routes[2] : $action_name_default;

В переменной $application_path функцию strtolower нужно применять для $application_name и $action_name.
А

Оранжевые штаны
Зачем strtolower?
I

Пришелец
Башка, чтобы при запросе /Blog/SomeAction он искал файл app/blog/someaction.php.