|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* Copyright © 2021 ExacTI Technology Solutions. All rights reserved.
|
|
|
|
* GPLv3 General License.
|
|
|
|
* https://exacti.com.br
|
|
|
|
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Phacil\Framework;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The registration off all objects on this Framework.
|
|
|
|
*
|
|
|
|
* @since 0.0.1
|
|
|
|
*
|
|
|
|
* @package Phacil\Framework
|
|
|
|
*/
|
|
|
|
final class Registry {
|
|
|
|
/**
|
|
|
|
* data Objects
|
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
private $data = array();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Original route for childs
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public $routeOrig;
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public $route;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $key
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function get($key) {
|
|
|
|
|
|
|
|
return (isset($this->$key) ? $this->$key : $this->engine->checkRegistry($key));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $key
|
|
|
|
* @param string $value
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function set($key, $value) {
|
|
|
|
$this->$key = $value;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param string $key
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function has($key) {
|
|
|
|
return isset($this->$key);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* UnSet
|
|
|
|
*
|
|
|
|
* Unsets registry value by key.
|
|
|
|
*
|
|
|
|
* @param string $key
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function delete(string $key) {
|
|
|
|
if (isset($this->$key)) {
|
|
|
|
unset($this->$key);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Try to obtain an iniciated engine instance
|
|
|
|
*
|
|
|
|
* @return \Phacil\Framework\Registry
|
|
|
|
* @since 2.0.0
|
|
|
|
*/
|
|
|
|
static public function getInstance() {
|
|
|
|
return \Phacil\Framework\startEngineExacTI::getRegistry();
|
|
|
|
}
|
|
|
|
}
|