Я использую свой PHP (как обычно) в архитектуре сервера, где у меня есть входящий запрос и строю исходящий ответ. Все атрибуты запроса (например, идентификатор клиента) передаются каждой подфункции и классу, с которыми можно творить чудеса (как в моих «Mappers», «Модели и помощники»).
Есть ли идея работать с данными запроса БЕЗ перевода их из функции в функцию.
Идея 1: Сделать мой объект запроса / ответа статичным. У меня ровно один запрос и один ответ, поэтому проблем с этим нет.
Идея 2: Сохранение данных в сеансе (или аналогичных). Это также звучит неудобно и тяжело.
Есть ли другая идея, делающая это?
Реализуйте свой собственный класс Request или RequestContext и заполните объект этого типа всеми данными, которые могут понадобиться текущим методам. Таким образом, вам не нужно растущее число аргументов для каждой из ваших функций, вместо этого вы просто перенаправляете весь запрос.
Это гораздо проще расширить, и вы не страдаете недостатками «глобальных» данных. Это типичный шаблон, который также используется многими фреймворками.
Других решений пока нет …