App\Providers\PluginServiceProvider::boot PHP Method

boot() public method

Bootstrap any application services.
public boot ( PluginManager $plugins ) : void
$plugins App\services\PluginManager
return void
    public function boot(PluginManager $plugins)
    {
        // store paths of class files of plugins
        $src_paths = [];
        $loader = $this->app->make('translation.loader');
        // make view instead of view.finder since the finder is defined as not a singleton
        $finder = $this->app->make('view');
        foreach ($plugins->getPlugins() as $plugin) {
            $src_paths[$plugin->getNameSpace()] = $plugin->getPath() . "/src";
            // add paths of translation files for namespace hints
            $loader->addNamespace($plugin->getNameSpace(), $plugin->getPath() . "/lang");
            // add paths of views
            $finder->addNamespace($plugin->getNameSpace(), $plugin->getPath() . "/views");
        }
        $this->registerClassAutoloader($src_paths);
        $bootstrappers = $plugins->getEnabledBootstrappers();
        foreach ($bootstrappers as $file) {
            $bootstrapper = (require $file);
            // call closure using service container
            $this->app->call($bootstrapper);
        }
    }