Elgg\Cache\MetadataCache::inject PHP Method

inject() public method

Note this does NOT invalidate any other part of the cache.
public inject ( integer $entity_guid, array $values ) : void
$entity_guid integer The GUID of the entity
$values array The metadata values to cache
return void
    public function inject($entity_guid, array $values)
    {
        $this->values[$this->getAccessKey()][$entity_guid] = $values;
    }

Usage Example

 public function testWritesInvalidate()
 {
     // elgg_delete_metadata
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->cache->inject($this->guid2, ['bing' => 'bar']);
     elgg_delete_metadata(array('guid' => $this->guid1));
     $this->assertFalse($this->cache->isLoaded($this->guid1));
     $this->assertTrue($this->cache->isLoaded($this->guid2));
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->cache->inject($this->guid2, ['bing' => 'bar']);
     elgg_delete_metadata(['guids' => [$this->guid1, $this->guid2]]);
     $this->assertFalse($this->cache->isLoaded($this->guid1));
     $this->assertFalse($this->cache->isLoaded($this->guid2));
     // setMetadata
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->obj1->setMetadata($this->name, $this->value);
     $this->assertFalse($this->cache->isLoaded($this->obj1));
     // deleteMetadata
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->obj1->deleteMetadata($this->name);
     $this->assertFalse($this->cache->isLoaded($this->guid1));
     // create_metadata
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     create_metadata($this->guid1, 'foo', 'bar', 'text');
     $this->assertFalse($this->cache->isLoaded($this->guid1));
     // disableMetadata
     $this->obj1->setMetadata($this->name, $this->value);
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->obj1->disableMetadata($this->name);
     $this->assertFalse($this->cache->isLoaded($this->guid1));
     // enableMetadata
     $this->cache->inject($this->guid1, ['foo' => 'bar']);
     $this->obj1->enableMetadata($this->name);
     $this->assertFalse($this->cache->isLoaded($this->guid1));
 }