. */ namespace SP\Core\Context; /** * Class ContextBase * @package SP\Core\Session */ abstract class ContextBase implements ContextInterface { const APP_STATUS_UPDATED = 'updated'; const APP_STATUS_RELOADED = 'reloaded'; const APP_STATUS_INSTALLED = 'installed'; const APP_STATUS_LOGGEDOUT = 'loggedout'; /** * @var array */ private $context = []; /** * @param $context */ final protected function setContextReference(&$context) { $this->context =& $context; } /** * @param $context */ final protected function setContext($context) { $this->context = $context; } /** * Devolver una variable de contexto * * @param string $key * @param mixed $default * @return mixed */ protected function getContextKey($key, $default = null) { if (isset($this->context[$key])) { return is_numeric($default) ? (int)$this->context[$key] : $this->context[$key]; } return $default; } /** * Establecer una variable de contexto * * @param string $key El nombre de la variable * @param mixed $value El valor de la variable * @return mixed */ protected function setContextKey($key, $value) { $this->context[$key] = $value; return $value; } }