Заметки кодящего дизайнера

Распарсить URL в Opencart3

Привожу пример фрагмента скрипта, который достаёт из URLа все параметры и записывает их в переменную.

В моём случае мне это понадобилось для того чтобы отправить в логи все данные об оплате в интернет-магазине.

Один банк зашивает всю информацию об оплате в параметры URLа и чтобы в случае чего понимать успешна ли оплата, и какая, и если нет, то в чём ошибка мне потребовалось логировать результат.

Итак.

// Получение строки запроса из текущего URL
$queryString = $_SERVER['QUERY_STRING'];

// Преобразуем параметры запроса в ассоциативный массив
parse_str($queryString, $queryParams);

// Формируем сообщение
$logMessage = "Данные из запроса:\n";
foreach ($queryParams as $key => $value) {
    $decodedValue = urldecode($value); // Декодируем URL-кодировку
    $formattedValue = $decodedValue === '' ? 'не указано' : $decodedValue; // Обработка пустых значений
    $logMessage .= "- $key: $formattedValue\n";
}

А дальше $logMessage улетает в телеграм.