La clase Registry en Magento2 ya se utilizaba en Magento1x y nos permite almacenar claves y valores durante el tiempo que dura una petición.
Sus claves y valores podrán ser accedidos por todas las clases (incluidos templates) hasta que la petición termine.
Básicamente Registry es un objeto en el que guardamos valores. Una clase puede estar grabando un valor en el objeto mientras que otra lo puede estar accediendo posteriormente.
1 |
$this->_registry[$key] = $value; |
Lo podemos utilizar tanto en bloques, controladores y este podrá ser accedido desde nuestros _helpers, modelos, templates, etc … pero lo más importante es que solo podrá ser accedido durante la petición que se está realizando.
1 2 3 4 5 6 7 8 9 10 11 12 |
use Magento\Framework\Registry public function __construct( Registry $registry ) { $this->_registry = $registry; } public function execute() { // guardamos una nueva clave y su valor $this->_registry->register('portes', '0'); } |
Para acceder a los valores usamos:
1 |
echo $this->_registry->registry('portes'); |
También podemos borrar claves usando:
1 |
$this->_registry->unregister('portes); |