Я думаю, вам следует немного подумать о рефакторинге своего кода, особенно если вы не единственный человек, работающий над проектом, потому что искусственное добавление значений в $_POST
просто сбивает с толку и его следует избегать, если это возможно.Если я вижу код, который читает переменную из $_POST
, я ищу, что он установлен на внешнем интерфейсе, а не где-то в контроллере.
Вы можете заставить свой перехватчик делать:
$post = Yii::$app->request->post();
// or $post = _ $POST;
$post['foo'] = 'bar';
someNamespace::$writeData = $post;
Затем, когда вы хотите получить доступ к данным (при условии, что они не всегда проходят через перехватчик и должны инициализироваться, когда они пусты):
if (empty(someNamespace::$writeData)) {
someNamespace::$writeData = $_POST;
}
$data = someNamespace::$writeData;
и читать все из этой статической переменной вместо $_POST
.Это более аккуратный и гораздо более удобный код, ИМХО.