TestAppsExceptionRenderer.php 917 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace TestApp\Error;
  3. use Cake\Controller\Controller;
  4. use Cake\Error\ExceptionRenderer;
  5. use Cake\Http\Response;
  6. use Cake\Http\ServerRequest;
  7. use Cake\Routing\Router;
  8. use TestApp\Controller\TestAppsErrorController;
  9. class TestAppsExceptionRenderer extends ExceptionRenderer
  10. {
  11. /**
  12. * {@inheritDoc}
  13. */
  14. protected function _getController()
  15. {
  16. $request = $this->request ?: Router::getRequest(true);
  17. if ($request === null) {
  18. $request = new ServerRequest();
  19. }
  20. $response = new Response();
  21. try {
  22. $controller = new TestAppsErrorController($request, $response);
  23. $controller->viewBuilder()->setLayout('banana');
  24. } catch (\Exception $e) {
  25. $controller = new Controller($request, $response);
  26. $controller->viewBuilder()->setTemplatePath('Error');
  27. }
  28. return $controller;
  29. }
  30. }