Example #1
0
 /**
  * Registers the services provided by this provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app->singleton('url/canonical/resolver', function () {
         return new CanonicalUrlResolver();
     });
     $this->app->singleton('url/canonical', function () {
         return \Core::make('url/canonical/resolver')->resolve(array());
     });
     $this->app->bindShared('url/resolver/path', function () {
         return new PathUrlResolver();
     });
     $this->app->bindShared('url/resolver/page', function () {
         return new PageUrlResolver(\Core::make('url/resolver/path'));
     });
     $this->app->bindShared('url/resolver/route', function () {
         $generator = \Route::getGenerator();
         $list = \Route::getList();
         return new RouteUrlResolver(\Core::make('url/resolver/path'), $generator, $list);
     });
     $this->app->bind('url/manager', function () {
         $manager = new ResolverManager('concrete.path', \Core::make('url/resolver/path'));
         $manager->addResolver('concrete.page', \Core::make('url/resolver/page'));
         $manager->addResolver('concrete.route', \Core::make('url/resolver/route'));
         return $manager;
     });
 }
 /**
  * Registers the services provided by this provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app->singleton('Concrete\\Core\\Url\\Resolver\\CanonicalUrlResolver');
     $this->app->bind('url/canonical/resolver', '\\Concrete\\Core\\Url\\Resolver\\CanonicalUrlResolver');
     $this->app->bind('url/canonical', function ($app) {
         return $app->make('Concrete\\Core\\Url\\Resolver\\CanonicalUrlResolver')->resolve(array());
     });
     // Share the path url resolver
     $this->app->singleton('Concrete\\Core\\Url\\Resolver\\PathUrlResolver');
     $this->app->bind('url/resolver/path', 'Concrete\\Core\\Url\\Resolver\\PathUrlResolver');
     // Share the Page url resolver
     $this->app->singleton('Concrete\\Core\\Url\\Resolver\\PageUrlResolver');
     $this->app->bind('url/resolver/page', 'Concrete\\Core\\Url\\Resolver\\PageUrlResolver');
     // Share the route url resolver
     $this->app->singleton('Concrete\\Core\\Url\\Resolver\\RouterUrlResolver');
     $this->app->bind('url/resolver/route', 'Concrete\\Core\\Url\\Resolver\\RouterUrlResolver');
     $this->app->bindShared('Concrete\\Core\\Url\\Resolver\\Manager\\ResolverManager', function ($app, $default_handle = '', $default_resolver = null) {
         $manager = new ResolverManager($default_handle ?: 'concrete.path', $default_resolver);
         $manager->addResolver('concrete.path', $app->make('Concrete\\Core\\Url\\Resolver\\PathUrlResolver'));
         $manager->addResolver('concrete.page', $app->make('Concrete\\Core\\Url\\Resolver\\PageUrlResolver'));
         $manager->addResolver('concrete.route', $app->make('Concrete\\Core\\Url\\Resolver\\RouterUrlResolver'));
         return $manager;
     });
     $this->app->bind('Concrete\\Core\\Url\\Resolver\\Manager\\ResolverManagerInterface', 'Concrete\\Core\\Url\\Resolver\\Manager\\ResolverManager');
     $this->app->bind('url/manager', 'Concrete\\Core\\Url\\Resolver\\Manager\\ResolverManager');
 }
Example #3
0
 public function testGetters()
 {
     $mock = $this->getMock('\\Concrete\\Core\\Url\\Resolver\\UrlResolverInterface');
     $this->manager->addResolver('test_resolver', $mock);
     $this->assertEquals($mock, $this->manager->getResolver('test_resolver'));
     $this->assertArrayHasKey('test_resolver', $this->manager->getResolvers());
     $this->assertEquals($this->defaultResolver, $this->manager->getDefaultResolver());
 }
Example #4
0
 /**
  * Registers the services provided by this provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app->singleton('url/canonical/resolver', function () {
         return new CanonicalUrlResolver();
     });
     $this->app->singleton('url/canonical', function () {
         return \Core::make('url/canonical/resolver')->resolve(array());
     });
     $this->app->bind('url/manager', function () {
         $path_resolver = new PathUrlResolver();
         $manager = new ResolverManager('concrete.path', $path_resolver);
         $manager->addResolver('concrete.page', new PageUrlResolver());
         return $manager;
     });
 }