![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework; /** * Registry model. Used to manage values in registry * * Registry usage as a shared service introduces temporal, hard to detect coupling into system. * Its usage should be avoided. Use service classes or data providers instead. * * @api * @deprecated 102.0.0 * @since 100.0.2 */ class Registry { /** * Registry collection * * @var array */ private $_registry = []; /** * Retrieve a value from registry by a key * * @param string $key * @return mixed * * @deprecated 102.0.0 */ public function registry($key) { if (isset($this->_registry[$key])) { return $this->_registry[$key]; } return null; } /** * Register a new variable * * @param string $key * @param mixed $value * @param bool $graceful * @return void * @throws \RuntimeException * * @deprecated 102.0.0 */ public function register($key, $value, $graceful = false) { if (isset($this->_registry[$key])) { if ($graceful) { return; } throw new \RuntimeException('Registry key "' . $key . '" already exists'); } $this->_registry[$key] = $value; } /** * Unregister a variable from register by key * * @param string $key * @return void * * @deprecated 102.0.0 */ public function unregister($key) { if (isset($this->_registry[$key])) { if (is_object($this->_registry[$key]) && method_exists($this->_registry[$key], '__destruct') && is_callable([$this->_registry[$key], '__destruct']) ) { $this->_registry[$key]->__destruct(); } unset($this->_registry[$key]); } } /** * Destruct registry items */ public function __destruct() { $keys = array_keys($this->_registry); array_walk($keys, [$this, 'unregister']); } }