В 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';
Я просто обеспокоен тем, что если я сделаю что-то похожее, чтобы оно не сохранилось по областям.