Файл: concrete5.7.5.6/concrete/src/Url/UrlServiceProvider.php
Строк: 86
<?php
namespace ConcreteCoreUrl;
use ConcreteCoreFoundationServiceProvider;
use ConcreteCoreUrlResolverManagerResolverManager;
use ConcreteCoreUrlResolverRouteUrlResolver;
class UrlServiceProvider extends Provider
{
/**
* Registers the services provided by this provider.
*
* @return void
*/
public function register()
{
$this->app->singleton('ConcreteCoreUrlResolverCanonicalUrlResolver');
$this->app->bind('url/canonical/resolver', 'ConcreteCoreUrlResolverCanonicalUrlResolver');
$this->app->bind('url/canonical', function ($app) {
return $app->make('ConcreteCoreUrlResolverCanonicalUrlResolver')->resolve(array());
});
// Share the path url resolver
$this->app->singleton('ConcreteCoreUrlResolverPathUrlResolver');
$this->app->bind('url/resolver/path', 'ConcreteCoreUrlResolverPathUrlResolver');
// Share the Page url resolver
$this->app->singleton('ConcreteCoreUrlResolverPageUrlResolver');
$this->app->bind('url/resolver/page', 'ConcreteCoreUrlResolverPageUrlResolver');
// Share the route url resolver
$this->app->singleton('ConcreteCoreUrlResolverRouterUrlResolver');
$this->app->bind('url/resolver/route', 'ConcreteCoreUrlResolverRouterUrlResolver');
$this->app->bindShared('ConcreteCoreUrlResolverManagerResolverManager',
function($app, $default_handle= '', $default_resolver = null) {
$manager = new ResolverManager($default_handle ?: 'concrete.path', $default_resolver);
$manager->addResolver('concrete.path', $app->make('ConcreteCoreUrlResolverPathUrlResolver'));
$manager->addResolver('concrete.page', $app->make('ConcreteCoreUrlResolverPageUrlResolver'));
$manager->addResolver('concrete.route', $app->make('ConcreteCoreUrlResolverRouterUrlResolver'));
return $manager;
});
$this->app->bind('ConcreteCoreUrlResolverManagerResolverManagerInterface', 'ConcreteCoreUrlResolverManagerResolverManager');
$this->app->bind('url/manager', 'ConcreteCoreUrlResolverManagerResolverManager');
}
}