本文整理匯總了PHP中Symfony\Component\HttpFoundation\JsonResponse::setClientTtl方法的典型用法代碼示例。如果您正苦於以下問題:PHP JsonResponse::setClientTtl方法的具體用法?PHP JsonResponse::setClientTtl怎麽用?PHP JsonResponse::setClientTtl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Symfony\Component\HttpFoundation\JsonResponse
的用法示例。
在下文中一共展示了JsonResponse::setClientTtl方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: buildHttpResponse
/**
* Build a JsonResponse based on an API response object
*
* @param AjaxResponse $api_response The API Response
* @param bool $allow_removing_headers Alter PHP's global headers to allow caching
*
* @return JsonResponse
* @throws \RuntimeException
*/
private function buildHttpResponse(AjaxResponse $api_response, $allow_removing_headers = true)
{
if ($api_response->isCancelled()) {
return new JsonResponse(['error' => "The response was cancelled"], 400);
}
$response = new JsonResponse(['msgs' => (object) $this->msgs->dumpRegister(), 'data' => $api_response->getData()]);
$ttl = $api_response->getTtl();
if ($ttl > 0) {
// Required to remove headers set by PHP session
if ($allow_removing_headers) {
header_remove('Expires');
header_remove('Pragma');
header_remove('Cache-Control');
}
// JsonRequest sets a default Cache-Control header we don't want
$response->headers->remove('Cache-Control');
$response->setClientTtl($ttl);
// if we don't set Expires, Apache will add a far-off max-age and Expires for us.
$response->headers->set('Expires', gmdate('D, d M Y H:i:s \\G\\M\\T', time() + $ttl));
}
return $response;
}