Skip to content

Commit 3172b9a

Browse files
committed
Adding TTL to router config
1 parent cf72064 commit 3172b9a

File tree

4 files changed

+28
-16
lines changed

4 files changed

+28
-16
lines changed

src/DependencyInjection/Compiler/RouterCompilerPass.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ protected function prepare()
3232
$def = clone $this->container->findDefinition('router');
3333
$def->setClass('Cache\CacheBundle\Routing\Router');
3434
$def->addMethodCall('setCache', [new Reference(sprintf('cache.instance.%s', $router['instance']))]);
35+
$def->addMethodCall('setTtl', [$router['ttl']]);
3536

3637
$this->container->setDefinition('cache.router', $def);
3738
$this->container->setAlias('router.alias', 'cache.router');

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ private function addRouterSection()
141141
->booleanNode('enabled')
142142
->defaultFalse()
143143
->end()
144+
->integerNode('ttl')
145+
->isRequired()
146+
->end()
144147
->booleanNode('auto-register')
145148
->defaultTrue()
146149
->end()

src/Resources/views/Collector/cache.html.twig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
{% block toolbar %}
1313
{% set icon %}
14-
<img width="20" height="28" alt="AequasiCache"
14+
<img width="20" height="28" alt="Cache"
1515
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90DGRcHJGLuAHcAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAACrUlEQVRIx+2UO0xTYRTHz3d7b6FIeUmhviZauaCgpQkIPoIRXyBIEZISJonI04DEGNDFhBBICNrBKJjSmrhonAzKAA7appoymaglTXBoL9gXBQr2Yu9t+7lYINjGxcSl//Hkl99w/icHIJ54/n9Q+/VWkmVZVTAYdEil2bOjGg0XDVQ3NNSLxWKfw+kyvJ56E4glFOTl0pkLDDPrdrma13xrUqWiiPk6Z3Fuh3q7e/bMz397abPbuygBqVAqi2yWuTkmmpCgD+WnUBQFHM/Dktfb4nQ6pivPnR+cnJxMjkDJqSkHMnZnZOEwhuWVlapFZmGqovz0Q712QvKHEAAQxnhz4GdZidvj6R8ZGv7U0dZ+CgBASFEUArTJBDguZdXn6xwfH7M0qRubdwq3FooQIIQAAJCfZXNmzeb3ly5W6kKhUHoUBng+mGm1WicuVJx923qtRQYAQMZsCyHAGIPD4bhqMhivkEKKjMW4PZ4zAZ77WF1ZJSP/egYIQW4eLbLZ7ChmswICaJoW0/n5oqhCjDFgjCFTIoGeW73AB4PmZzp9MQAIdnIJQiG0dnXCQZp+F+ACa0Q0UWJCAlRfroERzf31H35/reXzlzsYQzjCAAAQBAElpcfgsU4b3Lt/3w2j0aAqP3GSJQG2GhYQBBQcKYRqVS2XJZW+6OjobDMZDOzAwMBx+C1CCIFcLoeaOlU4Ry436vW6Js3og8WIgyQIQRgAIDs7C+rVajhcWGD2epeHyopLXkWgtPS0jXA4DLuSkqC+UQ1HixRWjuOHi5XKpzvXRSqUytWSslJOJBKth0Khex9Mpuc3u3uWtkMbPzmmt++2jSRJOcfzgy63W9ugqrNHLfHR2BhBEEiWmprm101ov89Mz+Bo4BOtNjdRlOhnGMZxt68/FH+D8fzD/AKVShqzbU52jQAAAABJRU5ErkJggg==" />
1616
<span class="sf-toolbar-status">{{ collector.totals.calls }}</span>
1717
{% if collector.totals.calls > 0 %}
@@ -43,7 +43,7 @@
4343
{% block menu %}
4444
<span class="label">
4545
<span class="icon">
46-
<img width="32" height="33" alt="AequasiCache"
46+
<img width="32" height="33" alt="Cache"
4747
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAhCAYAAAC4JqlRAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90DGRcLOjRUchgAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAEM0lEQVRYw+1Wa0ybZRR+3q8tY1gwmshGvBGW/ViEBqfSghpgFzdmNhaQy4bZsoEbRcCNIQtEsoTb3Bj9AVWgILDF0UksJNKIl0gQ0RUolFvnmEhSpixeKKATOno5/mAlGyu23S9/9Pn55X3OeZ5zznu+F/DAAw/+DyAiobK5Ob+vry/l5tSU0B2ubmBQVFtdXTw+Pi4mIt5DCZBXVpaGBofQS89vpbjY/breH67ucZWbduSobmuIiF4Jj7hz7Giqkog2uZObIyLOYJg6yBiDjQgGgyFUKpWq3y8tqxseGnraSeV85+fngxmPB5PJ5KUdGEjevWNnf1tr6xGbjXxcEqBQKHje3useBxEYY2BgYIyxlpaWtNyTOf1XlMocIhI4IstkMj/GcStl5zgOf87MPHa2pLQ+MT7+69m52XCnAqanpxmBGMCWvzAsC2EMxtnZDWdLSisypRnfqNvbXyAidi95YWGBWx3wbiW5ycnJiJgdr3VXlJefnzJMbVxLAH8lq4NAACDw8oJGo3lVNzjYPaDV1hPRe4yxv5064ziYLRa+sln57hcdHUm9Gk2BWCK5/MC55WY61HAflsxmnzZVa3ZyQuJAU0NjPBHxFxcXbctkx7CbMBpnn5EeS//4RHZ2W69GE/qggP8Icm8gvkCAiYmJzfKqqk/SUtPUsbGxAYzI6aAxxsA4hp7veva/k5nV81F9fZG9nWu2wIkYnk6r3VUPBDEe3x0ezBbLIx9UyQtvTU97A8jjnPtfIyDHYWR4eDPPHtk9AxjU6Q4QEY97mMVls1rh47Me52QVZLZY3OJaLRaIRCKczM2dYYzZh5BcXdngOIYwiRhNzZfNKpWq3JUCEhGICHwBH8czpHgrM+PXM4WFmQCsnDuuAwI24kxxMR04dOhGqEi0c4O/f6Wr3Oht0aiqrrYQj1O9LJaIOzs7e1aGkJyo9xIIsH3PHiS/mfLPFaWyrKSoqAaAkc/nP+XM+aN+fpBmZWK9UDgql1flX2xs6gBgu28RsVUS6O5atlmtCBGJkJ71tnXGaPw+eMuWLAAj9nNms5k5SrrcazOSD6Zg997XF9rV6qbC/ILTAG473ITkIIivUIi4hDfwokR8S1GryGtsaPgUgMmBz9VkBAYGIud0Hn6a/Lm7IL8g53O1enCtQvO7urpsUZGRK6NsXlpCZHQUDqel3tHr9Z9FiCWnANx0RNbr9UsCr3UEgBERrBYLTuSewnOikN/r6urKFNU1cgBWp1fz4qVLQ9sjoyghLp5a29qo46svb+zdty8KgLMHhresQrawLSqapMfTaezaNTp3oVwpCZc869bdTExKOjw8Nmq62t/32/mKC6UAfF3lflhboxoaHTF1fts1tismJtnthWb/J4SFhQXZiP7S9vf/4c5yDNoU5PuEv/+T83Nzv1z/8fptzwPXAw/cxb9BRtmu8GHExgAAAABJRU5ErkJggg==" />
4848
</span>
4949
<strong>Cache</strong>

src/Routing/Router.php

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@
1212
namespace Cache\CacheBundle\Routing;
1313

1414
use Cache\CacheBundle\Routing\Matcher\CacheUrlMatcher;
15-
use Aequasi\Cache\CachePool;
1615
use Psr\Cache\CacheItemPoolInterface;
1716
use Symfony\Bundle\FrameworkBundle\Routing\Router as BaseRouter;
1817
use Symfony\Component\DependencyInjection\ContainerInterface;
19-
use Symfony\Component\Routing\RequestContext;
2018

2119
/**
2220
* Class Router
@@ -37,6 +35,11 @@ class Router extends BaseRouter
3735
*/
3836
protected $cache;
3937

38+
/**
39+
* @type int
40+
*/
41+
protected $ttl;
42+
4043
/**
4144
* @return CacheUrlMatcher|null|\Symfony\Component\Routing\Matcher\UrlMatcherInterface
4245
*/
@@ -60,19 +63,16 @@ public function getRouteCollection()
6063
$key = 'route_collection';
6164

6265
if (null === $this->collection) {
63-
if ($this->cache->hasItem($key)) {
64-
$collection = $this->cache->getItem($key)->get();
65-
if ($collection !== null) {
66-
$this->collection = $collection;
67-
68-
return $this->collection;
69-
}
66+
$cacheItem = $this->cache->getItem($key);
67+
if ($cacheItem->isHit()) {
68+
$this->collection = $cacheItem->get();
69+
} else {
70+
$this->collection = parent::getRouteCollection();
71+
$cacheItem->set($this->collection);
72+
$cacheItem->expiresAfter($this->getTtl());
73+
74+
$this->cache->save($cacheItem);
7075
}
71-
72-
$this->collection = parent::getRouteCollection();
73-
$item = $this->cache->getItem($key);
74-
$item->set($this->collection)
75-
->expiresAfter(self::CACHE_LIFETIME);
7676
}
7777

7878
return $this->collection;
@@ -89,4 +89,12 @@ public function setCache(CacheItemPoolInterface $cache)
8989

9090
return $this;
9191
}
92+
93+
/**
94+
* @return int
95+
*/
96+
public function getTtl()
97+
{
98+
return $this->ttl;
99+
}
92100
}

0 commit comments

Comments
 (0)