Clockwork\Support\Laravel\ClockworkServiceProvider::register PHP Метод

register() публичный Метод

public register ( )
    public function register()
    {
        $this->publishes([__DIR__ . '/config/clockwork.php' => config_path('clockwork.php')]);
        $this->app->singleton('clockwork.support', function ($app) {
            return new ClockworkSupport($app);
        });
        $this->app->singleton('clockwork.laravel', function ($app) {
            return new LaravelDataSource($app);
        });
        $this->app->singleton('clockwork.swift', function ($app) {
            return new SwiftDataSource($app['mailer']->getSwiftMailer());
        });
        $this->app->singleton('clockwork.eloquent', function ($app) {
            return new EloquentDataSource($app['db'], $app['events']);
        });
        foreach ($this->app['clockwork.support']->getAdditionalDataSources() as $name => $callable) {
            $this->app->singleton($name, $callable);
        }
        $this->app->singleton('clockwork', function ($app) {
            $clockwork = new Clockwork();
            $clockwork->addDataSource(new PhpDataSource())->addDataSource($app['clockwork.laravel'])->addDataSource($app['clockwork.swift']);
            if ($app['clockwork.support']->isCollectingDatabaseQueries()) {
                $clockwork->addDataSource($app['clockwork.eloquent']);
            }
            foreach ($app['clockwork.support']->getAdditionalDataSources() as $name => $callable) {
                $clockwork->addDataSource($app[$name]);
            }
            $clockwork->setStorage($app['clockwork.support']->getStorage());
            return $clockwork;
        });
        $this->app['clockwork.laravel']->listenToEvents();
        // set up aliases for all Clockwork parts so they can be resolved by the IoC container
        $this->app->alias('clockwork.support', 'Clockwork\\Support\\Laravel\\ClockworkSupport');
        $this->app->alias('clockwork.laravel', 'Clockwork\\DataSource\\LaravelDataSource');
        $this->app->alias('clockwork.swift', 'Clockwork\\DataSource\\SwiftDataSource');
        $this->app->alias('clockwork.eloquent', 'Clockwork\\DataSource\\EloquentDataSource');
        $this->app->alias('clockwork', 'Clockwork\\Clockwork');
        $this->registerCommands();
        if ($this->app['clockwork.support']->getConfig('register_helpers', true)) {
            require __DIR__ . '/helpers.php';
        }
    }