/** * @param string $name * * @return mixed */ function get(string $name) { // global $tracer = new Tracer(__FUNCTION__, []); $hash = $tracer->getHash($name); if (Registry::Instance()->exists($hash)) { return Registry::Instance()->access($hash); } // local $tracer = new Tracer(__FUNCTION__, debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, DEBUG_BACKTRACE_LEVEL)); $hash = $tracer->getHash($name); enforce(Registry::Instance()->exists($hash))->orThrow('Constant "%s" does not exists', $name); return Registry::Instance()->access($hash); }
/** * Entry constructor. * * @param string $name * @param Tracer $tracer */ public function __construct(string $name, Tracer $tracer) { $this->name = $name; $this->hash = $tracer->getHash($name); }