TestAppsExceptionRenderer.php 885 B

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