PSR-6 solves this problem already, but in a rather formal and verbose way for what the most simple use cases need. This simpler approach aims to build a standardized streamlined interface for common cases. It is independent of PSR-6 but has been designed to make compatibility with PSR-6 as straightforward as possible.
FMUploader.init({
container : 'attachment',
mode : 'readonly',
url: {
download_route : 'https://storage.eltox.ru'
}
}).list([{"name":"61a09c12b9c7e_\u0418\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u0440\u044b\u0431\u0430 \u043d\u0430 2022.doc","alias":"\u0418\u0437\u0432\u0435\u0449\u0435\u043d\u0438\u0435 \u0440\u044b\u0431\u0430 \u043d\u0430 2022.doc","label":"2855154","hash":"c2cf6e574ed0e103d71ca854fda5be87ce6c5b3eae990320c5f4d8a88e97f236","group":"undefined","guid":"70bba5c7-630c-4fba-931e-06b7e936ab2c","path":"938f33c4-2702-4a54-abb0-661fea6df0e3","db":true}]);
json_decode(file_get_contents('php://input'), true);
php://input является потоком только для чтения, который позволяет вам читать необработанные данные из тела запроса. php://input недоступен с типом содержимого enctype="multipart/form-data".https://www.php.net/manual/ru/wrappers.php.php
Подключать в виде зависимости к пакету yii2 - будет слишком плохой тон?Если ваш пакет предполагается фреймворко-независимым, то да, так себе решение. Если же он тесно связан с Yii2, то почему бы и нет...
returnFullOrderInfo
можно переименовать в makeFullOrderInfoResponse
- в названиях функций слово return
не несёт ценности.fullInfo
тоже можно переименовать в (to|make|get)FullInfo
для того, чтобы по названию было понятно, что метод делает.responseSuccess
тоже криво назван.$warning
не указан тип?$warning
связан непосредственно с заказом, то его имеет смысл передавать в качестве аргумента в fullInfo
, чтобы инкапсулировать и не менять объект снаружи. Если же не связан, то формат ответа лучше поменять на ['data' => $orderInfo, 'warning' => $warning]
. $unique = [];
foreach ($response['data']['items'] as $item) {
// В таком виде будет использоваться последнее значение из массива,
// но вы можете использовать любую логику.
$unique[$item['barcode']] = $item;
}
$unique = array_values($unique);