/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Registry.php
99 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2014 Adobe * All Rights Reserved. */ namespace Magento\Framework; use Magento\Framework\ObjectManager\ResetAfterRequestInterface; /** * 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 * @see Nothing * @since 100.0.2 */ class Registry implements ResetAfterRequestInterface { /** * Registry collection * * @var array */ private $_registry = []; /** * Retrieve a value from registry by a key * * @param string $key * @return mixed * @deprecated 102.0.0 * @see Nothing */ 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 * @see Nothing */ 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 * @see Nothing */ public function unregister($key) { if (isset($this->_registry[$key])) { unset($this->_registry[$key]); } } /** * Destruct registry items */ public function __destruct() { $keys = array_keys($this->_registry); array_walk($keys, [$this, 'unregister']); } /** * @inheritDoc */ public function _resetState(): void { $this->_registry = []; } }