Распарсить 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
улетает в телеграм.