KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to create dynamic routes as I have created a CMS where each page created can be associated to a route. I'm using the example from this link - http://php-and-symfony.matthiasnoback.nl/2012/01/symfony2-dynamically-add-routes/ and all works fine, however the routing is cached, therefore one route will work but then the next won't unless I clear the cache. Is it possible to remove just the routing cache at this stage or is there another alternative? I don't want to remove the whole cache directory on each page load as that wouldn't make sense. Here is the example code: namespace Acme\RoutingBundle\Routing; use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouteCollection; class ExtraLoader implements LoaderInterface { private $loaded = false; public function load($resource, $type = null) { if (true === $this->loaded) { throw new \RuntimeException('Do not add this loader twice'); } $routes = new RouteCollection(); $pattern = '/extra'; $defaults = array( '_controller' => 'AcmeRoutingBundle:Demo:extraRoute', ); $route = new Route($pattern, $defaults); $routes->add('extraRoute', $route); return $routes; } public function supports($resource, $type = null) { return 'extra' === $type; } public function getResolver() { } public function setResolver(LoaderResolver $resolver) { // irrelevant to us, since we don't need a resolver } } Then I've made a service for the ExtraLoader: <!-- in /src/Acme/RoutingBundle/Resources/config/services.xml --> <?xml version="1.0" ?> <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://s
Tags (comma-separated)
Save Edits
Cancel