В PHP я хотел бы иметь доступ к PUT и DELETE vars глобально, похожим на то, как к GET и POST к ним обращаются глобально. Первоначально я рассматривал возможность добавления данных в $_PUT и $_DELETE соответственно в глобальном пространстве имен, но затем я понял, что данные для каждого запроса хранятся в теле сообщения, поэтому нет возможности для этого иметь более одного набора данных из POST, PUT или DELETE.
Есть ли побочные эффекты перезаписи переменной $_POST?
то есть. str_parse( file_get_contents( 'php://input' ), $_POST );
Неужели я глуп, или есть лучший способ доступа к данным PUT и DELETE?
Изменить, чтобы прояснить мое мышление:
Я очень хорошо знаю источник данных в $_POST, на самом деле я упомянул об этом ранее в своем вопросе. Если на сервер отправляется запрос HTTP POST, данные хранятся в php://input. Если на сервер отправляется запрос HTTP PUT или DELETE, данные хранятся в том же месте, что означает, что $_POST будет пустым (поскольку данные не были POSTed, несмотря на доступность данных.
A GET запрос, с другой стороны, передается через строку запроса. Это позволяет одновременно передавать переменные $_POST и $_GET. Это не возможность одновременного прохождения переменных POST и PUT or DELETE.
Если я перезаписываю $_POST из php://input в PUT и /DELETE запросах, потеря данных отсутствует.
Альтернатива добавления:
global $_PUT;
global $_DELETE;
к началу функций кажется глупым, так как я могу использовать только по одному в любом случае.
Мой первый вопрос, который я действительно хочу получить, касается того, какие побочные эффекты или проблемы существуют при перезаписывании $_POST. Я не могу быть первым, кто попробует что-то глупое:
$_POST['foo'] = 'bar';
Я просто обеспокоен тем, что если я сделаю что-то похожее, чтобы оно не сохранилось по областям.