Я создал Bundle, который вызывает сторонний API.
Теперь я хочу показать полученные данные в Symfony Profiler.
Я создал CustomDataCollector (http://symfony.com/doc/current/profiler/data_collector.html). Это все работает отлично. Но как я могу получить или «сохранить» полученный ответ для API?
Я создал сервис, который вызывает API с curl следующим образом:
$raw_response = curl_exec($ch);
$response = json_decode($raw_response);
if (property_exists($response, 'error') && $response->errors) {
return ['status'=>false, 'msg'=> (string)$response->errors[0]->description ] ;
} else {
return ['status'=>true, 'msg' =>'Send Successfully' ];
}
Я бы посоветовал вам использовать logger
Сервис для простых случаев использования, которые не требуют конкретного сборщика. Вы можете предоставить дополнительный контекст для регистрации:
/** LoggerInterface */
$container->get('logger')->error('There was an error on the API call.', array(
'description' => $response->errors[0]->description
);
logger
данные сохраняются в профиль по умолчанию. Для более сложных вариантов использования вы можете искать процессоры: http://symfony.com/doc/current/logging/processors.html
Других решений пока нет …