[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Joomla! Content Management System 5 * 6 * @copyright (C) 2005 Open Source Matters, Inc. <https://www.joomla.org> 7 * @license GNU General Public License version 2 or later; see LICENSE 8 */ 9 10 namespace Joomla\CMS\Error\Renderer; 11 12 use Joomla\Application\WebApplicationInterface; 13 use Joomla\CMS\Error\AbstractRenderer; 14 use Joomla\CMS\Factory; 15 16 // phpcs:disable PSR1.Files.SideEffects 17 \defined('JPATH_PLATFORM') or die; 18 // phpcs:enable PSR1.Files.SideEffects 19 20 /** 21 * JSON error page renderer 22 * 23 * @since 4.0.0 24 */ 25 class JsonRenderer extends AbstractRenderer 26 { 27 /** 28 * The format (type) of the error page 29 * 30 * @var string 31 * @since 4.0.0 32 */ 33 protected $type = 'json'; 34 35 /** 36 * Render the error page for the given object 37 * 38 * @param \Throwable $error The error object to be rendered 39 * 40 * @return string 41 * 42 * @since 4.0.0 43 */ 44 public function render(\Throwable $error): string 45 { 46 // Create our data object to be rendered 47 $data = [ 48 'error' => true, 49 'code' => $error->getCode(), 50 'message' => $error->getMessage(), 51 ]; 52 53 // Include the stack trace if in debug mode 54 if (JDEBUG) { 55 $data['trace'] = $error->getTraceAsString(); 56 } 57 58 $app = Factory::getApplication(); 59 60 if ($app instanceof WebApplicationInterface) { 61 $errorCode = 500; 62 63 if ($error->getCode() > 0) { 64 $errorCode = $error->getCode(); 65 } 66 67 $app->setHeader('status', $errorCode); 68 } 69 70 // Push the data object into the document 71 $this->getDocument()->setBuffer(json_encode($data)); 72 73 if (ob_get_contents()) { 74 ob_end_clean(); 75 } 76 77 return $this->getDocument()->render(); 78 } 79 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |