Maslosoft Staple API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
<?php
/**
* This software package is licensed under AGPL or Commercial license.
*
* @package maslosoft/staple
* @licence AGPL or Commercial
* @copyright Copyright (c) Piotr Masełkowski <pmaselkowski@gmail.com>
* @copyright Copyright (c) Maslosoft
* @link http://maslosoft.com/staple/
*/
namespace Maslosoft\Staple\Renderers;
use Maslosoft\MiniView\MiniView;
use Maslosoft\Staple\Interfaces\RendererInterface;
/**
* ErrorRenderer
*
* @author Piotr Maselkowski <pmaselkowski at gmail.com>
*/
class ErrorRenderer extends AbstractRenderer implements RendererInterface
{
private $_code = 404;
private $_message = '';
public function __construct($code, $message = '')
{
$this->_code = $code;
$this->_message = $message;
}
public function render($view = 'index', $data = [])
{
$message = $this->_code;
if (!empty($this->_message))
{
$message .= ": $this->_message";
}
header("HTTP/1.0 $this->_code");
$path = sprintf('%s/%s/_%s.php', $this->getOwner()->getRootPath(), $this->getOwner()->getContentPath(), $this->_code);
if (file_exists($path))
{
$mv = new MiniView($this, $this->getOwner()->getRootPath());
$mv->setViewsPath($this->getOwner()->getContentPath());
return $mv->render(sprintf('_%s', $this->_code), [
'code' => $this->_code,
'message' => $this->_message
], true);
}
return <<<HTML
<h1>$message</h1>
HTML;
}
}
API documentation generated by ApiGen