estic

Рейтинг
131
Регистрация
01.10.2017
webinfo #:

Смотря по тому, какова цель.

GET можно использовать, например, для создания или удаления?
webinfo #:
В маршрутизаторе может вызываться и сущность более высокого уровня - например, файл.

Может. Тогда это тоже обработчик.

webinfo #:
В любом случае, обработчик привязывается к цели обработки. Метод запроса - вторичный параметр.

Т.е. достигнуть "цель обработки" можно при помощи любого метода запроса? Можно выбрать любой метод?

webinfo #:
Что Вы называете обработчиком?

Метод класса, обычная или анонимная функция и т.д. Т.е. то что вызывается в маршрутизаторе при маршрутизации, но не относится непосредственно к нему.

webinfo #:
С нашей точки зрения, действия вешаются на данные, поступившие с запросом.
А разве метод запроса нельзя отнести к таким данным? Это первоочередной признак, по которому можно различать выполняемые действия.

Правильно ли я понял, что с вашей точки зрения можно любые действия "повесить" на GET?

webinfo #:
Обработчик вешается на конкретный запрос.

В смысле один обработчик на один адрес (адреса одного формата)? И не более одного?


webinfo #:
Вообще говоря, едва ли кому-то придёт в голову делать разные обработчики для разных методов запросов.

Вы серьезно? Это распространенная практика. Для приверженцев REST - вовсе "норма жизни".

webinfo #:

Обработчик делается исходя из целей обработки, а не исходя из метода запроса.

Т.е. любой обработчик можно "повесить" на любой метод и будет нормально? 😊

webinfo #:
Ибо эта фраза не несёт смысловой нагрузки

Выше уточнил. Смысл был в том, что общий обработчик может быть связан с GET чисто формально по имени, а не быть каким-нибудь специальным default, special, etc.

webinfo #:
Что означает сие словосочетание?

Что используется узкоспециализированный обработчик для GET, как общий. Хотел даже написать "для GET".

В маршруте можно хранить признак: "сливать" запросы любыми методами в общий обработчик (который может быть связан с GET чисто формально, например метод класса может называться соответствующим образом) или делать дополнительную маршрутизацию по методу запроса в рамках текущего "адресного" маршрута. Т.е. можно выбирать стратегию индивидуально для каждого маршрута.

Dram #:
Я кажется понял - а нет разницы, гет или пост запросы.

Правильно, если речь об обработке. Более того, лучше не использовать отдельные адреса для обработки POST-запросов (и др.). Т.е. физически можно использовать один маршрут для одного формата адресов и разных методов запроса. Основные стратегии, которые могут быть реализованы в одном и том же маршрутизаторе для одного формата адресов: 1) использовать общий обработчик для разных методов, "от GET" или специальный; 2) использовать отдельные обработчики для предопределенных методов, а для "неопределенных" - специальный или "системный", который бы сообщал, что "метод не поддерживается" (для этого есть специальный HTTP-код ответа).

Можно использовать упрощенную реализацию только для GET/POST. Это связано с ограничениями браузеров, когда не используется AJAX, и самого PHP. Без специальных расширений PHP, например, не различает PUT- и PATCH-параметры.

Dram #:
Проблему решила строчка

Так лом можно было использовать?

В таком случае можно было и молотком, топором или лопатой "решить проблему" 😀

По большому счету здесь даже для catid не нужен подготовленный запрос, т.к. существование категории должно проверяться отдельным "опережающим" запросом. Иногда используют и "ленивые" проверки, но не думаю, что автор достиг такого уровня.

sartiqus #:
И кстати ТС про международные зоны пишет.

Я этого не увидел. Возможно, осталось в "предыдущей теме".

sartiqus #:
И да, крепостное право в России отменили в 1861 г.
А в США отменили сегрегацию в 1964 г.
Всего: 1209