TestAppsExceptionRenderer.php 883 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace TestApp\Error;
  3. use Cake\Controller\Controller;
  4. use Cake\Core\Configure;
  5. use Cake\Error\ExceptionRenderer;
  6. use Cake\Http\Response;
  7. use Cake\Network\Request;
  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. }