Skip to content

Commit 155334d

Browse files
authored
Update cache.rst
Wrap example in function with autowire `TagAwareCacheInterface` pool.
1 parent 8e92a91 commit 155334d

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

cache.rst

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -486,22 +486,27 @@ to be able to invalidate the cache more efficient. One way to achieve that is to
486486
use cache tags. One or more tags could be added to the cache item. All items with
487487
the same key could be invalidate with one function call::
488488

489+
use Symfony\Contracts\Cache\ItemInterface;
489490
use Symfony\Contracts\Cache\TagAwareCacheInterface;
490491

491-
$value0 = $pool->get('item_0', function (TagAwareCacheInterface $item) {
492-
$item->tag(['foo', 'bar'])
492+
// using autowiring
493+
public function listProducts(TagAwareCacheInterface $pool)
494+
{
495+
$value0 = $pool->get('item_0', function (ItemInterface $item) {
496+
$item->tag(['foo', 'bar']);
493497

494-
return 'debug';
495-
});
498+
return 'debug';
499+
});
496500

497-
$value1 = $pool->get('item_1', function (TagAwareCacheInterface $item) {
498-
$item->tag('foo')
501+
$value1 = $pool->get('item_1', function (ItemInterface $item) {
502+
$item->tag('foo');
499503

500-
return 'debug';
501-
});
504+
return 'debug';
505+
});
502506

503-
// Remove all cache keys tagged with "bar"
504-
$pool->invalidateTags(['bar']);
507+
// Remove all cache keys tagged with "bar"
508+
$pool->invalidateTags(['bar']);
509+
}
505510

506511
The cache adapter needs to implement :class:`Symfony\\Contracts\\Cache\\TagAwareCacheInterface``
507512
to enable this feature. This could be added by using the following configuration.

0 commit comments

Comments
 (0)