當前位置: 首頁>>代碼示例>>PHP>>正文


PHP GetResponseForExceptionEvent::hasResponse方法代碼示例

本文整理匯總了PHP中Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent::hasResponse方法的典型用法代碼示例。如果您正苦於以下問題:PHP GetResponseForExceptionEvent::hasResponse方法的具體用法?PHP GetResponseForExceptionEvent::hasResponse怎麽用?PHP GetResponseForExceptionEvent::hasResponse使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent的用法示例。


在下文中一共展示了GetResponseForExceptionEvent::hasResponse方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: onKernelException

 public function onKernelException(GetResponseForExceptionEvent $event)
 {
     $this->logger->notice(sprintf('Exceptions catcher listener: catch kernel.exception event (exception: %s)', $event->getException()->getMessage()));
     // If this is not a master request, skip handling
     if (!$event->isMasterRequest()) {
         $this->logger->debug('Exceptions catcher listener: this is not master request, skip');
         return;
     }
     // If content already prepared
     if ($event->hasResponse()) {
         $this->logger->debug('Exceptions catcher listener: event already has response, skip');
         return;
     }
     // Getting action
     $apiServerAction = $event->getRequest()->attributes->get('apiAction');
     /* @var $apiServerAction ApiServerAction */
     // Something wrong
     if (!$apiServerAction) {
         $this->logger->error('Request parser listener: request has no apiAction attribute, sending empty response');
         $event->setResponse(new JsonResponse([]));
         return;
     }
     // Getting api server interface
     $apiServerInterface = $apiServerAction->getApiServerInterface();
     // Creating api response
     $apiResponse = $apiServerInterface->getExceptionResponse($event->getException()->getMessage());
     // Setting response
     $event->setResponse(new JsonResponse($apiResponse->export()));
 }
開發者ID:leoza,項目名稱:api-server-bundle,代碼行數:29,代碼來源:ExceptionsCatcher.php

示例2: testOnKernelException

 public function testOnKernelException()
 {
     $driver = new FailDriver();
     $exception = AuthorizationException::from($driver);
     $request = new Request();
     $response = new Response();
     $resolver = $this->newResolver();
     $this->listener->addResolver($resolver);
     $resolver->expects($this->once())->method('supportsDriver')->with($driver)->will($this->returnValue(true));
     $resolver->expects($this->once())->method('supportsException')->with($exception)->will($this->returnValue(true));
     $resolver->expects($this->once())->method('onException')->with($exception, $request)->will($this->returnValue($response));
     $kernel = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpKernelInterface')->disableOriginalConstructor()->getMock();
     $event = new GetResponseForExceptionEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, $exception);
     $this->assertFalse($event->hasResponse());
     $this->listener->onKernelException($event);
     $this->assertTrue($event->hasResponse());
 }
開發者ID:glynnforrest,項目名稱:blockade,代碼行數:17,代碼來源:BlockadeExceptionListenerTest.php


注:本文中的Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent::hasResponse方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。