/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/Indexer/CacheContext.php
87 строк
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 2015 Adobe * All Rights Reserved. */ namespace Magento\Framework\Indexer; /** * Class Context */ class CacheContext implements \Magento\Framework\DataObject\IdentityInterface { /** * @var array */ protected $entities = []; /** * @var array */ private $tags = []; /** * Register entity Ids * * @param string $cacheTag * @param array $ids * @return $this */ public function registerEntities($cacheTag, $ids) { $this->entities[$cacheTag] = array_merge($this->getRegisteredEntity($cacheTag), $ids); return $this; } /** * Register entity tags * * @param array $cacheTags * @return $this */ public function registerTags($cacheTags) { $this->tags = array_merge($this->tags, $cacheTags); return $this; } /** * Returns registered entities * * @param string $cacheTag * @return array */ public function getRegisteredEntity($cacheTag) { if (empty($this->entities[$cacheTag])) { return []; } else { return $this->entities[$cacheTag]; } } /** * Returns identities * * @return array */ public function getIdentities() { $identities = []; foreach ($this->entities as $cacheTag => $ids) { foreach ($ids as $id) { $identities[$cacheTag . '_' . $id] = true; } } return array_merge(array_keys($identities), array_unique($this->tags)); } /** * Clear context data */ public function flush(): void { $this->tags = []; $this->entities = []; } }