questlab/core/Response.inc

159 lines
3.4 KiB
PHP

<?php
/**
* NRE
*
* @author coderkun <olli@coderkun.de>
* @copyright 2013 coderkun (http://www.coderkun.de)
* @license http://www.gnu.org/licenses/gpl.html
* @link http://www.coderkun.de/projects/nre
*/
namespace nre\core;
/**
* Base class to represent a response.
*
* @author coderkun <olli@coderkun.de>
*/
class Response
{
/**
* Applied parameters
*
* @var array
*/
protected $params = array();
/**
* Generated output
*
* @var string
*/
private $output = '';
/**
* Abort futher execution
*
* @var bool
*/
private $exit = false;
/**
* Add a parameter.
*
* @param mixed $value Value of parameter
*/
public function addParam($value)
{
$this->params[] = $value;
}
/**
* Add multiple parameters.
*
* @param mixed $value1 Value of first parameter
* @param mixed … Values of further parameters
*/
public function addParams($value1)
{
$this->params = array_merge(
$this->params,
func_get_args()
);
}
/**
* Delete all stored parameters (from offset on).
*
* @param int $offset Offset-index
*/
public function clearParams($offset=0)
{
$this->params = array_slice($this->params, 0, $offset);
}
/**
* Get a parameter.
*
* @param int $index Index of parameter
* @param string $defaultIndex Index of default configuration value for this parameter
* @return string Value of parameter
*/
public function getParam($index, $defaultIndex=null)
{
// Return parameter
if(count($this->params) > $index) {
return $this->params[$index];
}
// Return default value
return \nre\core\Config::getDefault($defaultIndex);
}
/**
* Get all parameters from index on.
*
* @param int $offset Offset-index
* @return array Parameter values
*/
public function getParams($offset=0)
{
return array_slice($this->params, $offset);
}
/**
* Set output.
*
* @param string $output Generated output
*/
public function setOutput($output)
{
$this->output = $output;
}
/**
* Get generated output.
*
* @return string Generated output
*/
public function getOutput()
{
return $this->output;
}
/**
* Set exit-state.
*
* @param bool $exit Abort further execution
*/
public function setExit($exit=true)
{
$this->exit = $exit;
}
/**
* Get exit-state.
*
* @return bool Abort further execution
*/
public function getExit()
{
return $this->exit;
}
}
?>