Chain Routing:
Chain routing is a concept in which you can use more then 1 routing method i.e (a default symfony routing or a dynamic routing ).Using chain routing we can specify which of routing method to be prioritize on the basis of which the symfony router works.
for eg. Let's take a example that if we provide higher priority to dynamic routing then the symfony default routing then in the beginning the symfony routing finds for dynamic route if that is not found then only it tries for the default routing mechanism.This is how chain routing works
In gist chain routing helps to use more then one routing mechanisms with a provided priority.
as shown below is config.yml which shows the priority of two routing mechanism:
//config.yml
cmf_routing:
chain:
routers_by_id:
router.default: 200
cmf_routing.dynamic_router: 100
Priority can be set in similar way.The higher the no the higher will be the priority
Dynamic Routing:
Dynamic Routing loads Route instances from a dynamic source via a so called provider(may be a database or services).
However the DynamicRouter additionally is able to determine which Controller and Template to use based on the Route that is matched.
if you are interested in learning more:
http://symfony.com/doc/current/cmf/book/routing.html