За последние 24 часа нас посетили 115607 программистов и 6642 робота. Сейчас ищут 1525 программистов ...

Псевдо-адреса

Тема в разделе "PHP для новичков", создана пользователем Demic, 15 июл 2018.

  1. Demic

    Demic Новичок

    С нами с:
    15 июл 2018
    Сообщения:
    2
    Симпатии:
    0
    Решил написать небольшой сайт (что-то типа блога) и встал вопрос, как правильно реализовать роутер?

    У меня идея следующая:
    Есть файл с массивом
    PHP:
    1. return array(
    2. array('controller' => 'product', 'action' => 'list', 'url' => 'product/list/all'),
    3. array('controller' => 'news', 'action' => 'all_post', 'url' => 'news'),
    4. ...
    5. );
    В роутере получаем URL из данного массива, сравниваем его с текущим адресом и если есть совпадение, то подключаем нужный контроллер и метод.

    Чем создание таких псевдо-адресов плохо?

    Посмотрел разные реализации роутеров и по сути роуты (правила) прописываются примерно так же, за исключением параметров.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    а если не совпадает? а если частично?
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ну в принципе да, так обычно и описывается, только регулярки для параметров используются. Главное более общие роуты писать в этом массиве после более конкретных.
     
  4. Demic

    Demic Новичок

    С нами с:
    15 июл 2018
    Сообщения:
    2
    Симпатии:
    0
    Выкидываем ошибку
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Вы про контроллер/метод? Нужно повторно разбирать. Проще сразу по переменным раскидать. У вас кстати в перспективе все норм., нет в роутах такого: 'news/all_post'.

    Так это как раз самое интересное.
    --- Добавлено ---
    P.S. url визуально лучше на первом месте разместить.