TestAppsExceptionRenderer.php 873 B

12345678910111213141516171819202122232425262728293031323334
  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. if (!$request = Router::getRequest(true)) {
  17. $request = new ServerRequest();
  18. }
  19. $response = new Response();
  20. try {
  21. $controller = new TestAppsErrorController($request, $response);
  22. $controller->viewBuilder()->setLayout('banana');
  23. } catch (\Exception $e) {
  24. $controller = new Controller($request, $response);
  25. $controller->viewBuilder()->setTemplatePath('Error');
  26. }
  27. return $controller;
  28. }
  29. }