public function register()
{
$this->app->singleton('\\Aimeos\\Shop\\Base\\Aimeos', function ($app) {
return new \Aimeos\Shop\Base\Aimeos($app['config']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\Config', function ($app) {
return new \Aimeos\Shop\Base\Config($app['config'], $app['\\Aimeos\\Shop\\Base\\Aimeos']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\I18n', function ($app) {
return new \Aimeos\Shop\Base\I18n($this->app['config'], $app['\\Aimeos\\Shop\\Base\\Aimeos']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\Locale', function ($app) {
return new \Aimeos\Shop\Base\Locale($app['config']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\Context', function ($app) {
return new \Aimeos\Shop\Base\Context($app['session.store'], $app['\\Aimeos\\Shop\\Base\\Config'], $app['\\Aimeos\\Shop\\Base\\Locale'], $app['\\Aimeos\\Shop\\Base\\I18n']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\Page', function ($app) {
return new \Aimeos\Shop\Base\Page($app['config'], $app['\\Aimeos\\Shop\\Base\\Aimeos'], $app['\\Aimeos\\Shop\\Base\\Context'], $app['\\Aimeos\\Shop\\Base\\Locale'], $app['\\Aimeos\\Shop\\Base\\View']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\Support', function ($app) {
return new \Aimeos\Shop\Base\Support($app['\\Aimeos\\Shop\\Base\\Context'], $app['\\Aimeos\\Shop\\Base\\Locale']);
});
$this->app->singleton('\\Aimeos\\Shop\\Base\\View', function ($app) {
return new \Aimeos\Shop\Base\View($app['\\Aimeos\\Shop\\Base\\I18n'], $app['\\Aimeos\\Shop\\Base\\Support']);
});
$this->app['command.aimeos.account'] = $this->app->share(function () {
return new Command\AccountCommand();
});
$this->app['command.aimeos.cache'] = $this->app->share(function () {
return new Command\CacheCommand();
});
$this->app['command.aimeos.jobs'] = $this->app->share(function () {
return new Command\JobsCommand();
});
$this->app['command.aimeos.setup'] = $this->app->share(function () {
return new Command\SetupCommand();
});
$this->commands('command.aimeos.account');
$this->commands('command.aimeos.cache');
$this->commands('command.aimeos.setup');
$this->commands('command.aimeos.jobs');
}