Flint\Routing\ChainMatcher::setContext PHP Method

setContext() public method

public setContext ( Symfony\Component\Routing\RequestContext $context )
$context Symfony\Component\Routing\RequestContext
    public function setContext(RequestContext $context)
    {
        $this->context = $context;
    }

Usage Example

Example #1
0
 /**
  * {@inheritDoc}
  */
 public function register(Application $app)
 {
     $app['routing.resource'] = null;
     $app['routing.options'] = array();
     $app['routing.loader.xml'] = $app->share(function (Application $app) {
         return new XmlFileLoader($app['config.locator']);
     });
     $app['routing.loader.php'] = $app->share(function (Application $app) {
         return new PhpFileLoader($app['config.locator']);
     });
     $app['routing.loader.yml'] = $app->share(function (Application $app) {
         return new YamlFileLoader($app['config.locator']);
     });
     $app['routing.loader.null'] = $app->share(function (Application $app) {
         return new NullLoader();
     });
     $app['routing.loader.resolver'] = $app->share(function (Application $app) {
         $loaders = array($app['routing.loader.xml'], $app['routing.loader.php'], $app['routing.loader.null']);
         if (class_exists('Symfony\\Component\\Yaml\\Yaml')) {
             $loaders[] = $app['routing.loader.yml'];
         }
         return new LoaderResolver($loaders);
     });
     $app['routing.loader'] = $app->share(function (Application $app) {
         return new DelegatingLoader($app['routing.loader.resolver']);
     });
     $app['router'] = $app->share(function (Application $app) {
         $defaults = array('debug' => $app['debug'], 'matcher_base_class' => 'Silex\\RedirectableUrlMatcher', 'matcher_class' => 'Silex\\RedirectableUrlMatcher');
         $options = array_replace($defaults, $app['routing.options']);
         return new Router($app['routing.loader'], $app['routing.resource'], $options, $app['request_context'], $app['logger']);
     });
     $app['url_matcher'] = $app->share($app->extend('url_matcher', function ($matcher, $app) {
         $matcher = new ChainMatcher(array($app['router'], $matcher));
         $matcher->setContext($app['request_context']);
         return $matcher;
     }));
     $app['url_generator'] = $app->share($app->extend('url_generator', function ($generator, $app) {
         $generator = new ChainUrlGenerator(array($app['router'], $generator));
         $generator->setContext($app['request_context']);
         return $generator;
     }));
 }