Пример #1
0
/**
 * @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);
}
Пример #2
0
 /**
  * Entry constructor.
  *
  * @param string $name
  * @param Tracer $tracer
  */
 public function __construct(string $name, Tracer $tracer)
 {
     $this->name = $name;
     $this->hash = $tracer->getHash($name);
 }