Themosis\Foundation\Application::register PHP Method

register() public method

Register a service provider with the application.
public register ( ServiceProvider | string $provider, array $options = [], boolean $force = false ) : ServiceProvider
$provider ServiceProvider | string
$options array
$force boolean
return ServiceProvider
    public function register($provider, array $options = [], $force = false)
    {
        if (!$provider instanceof ServiceProvider) {
            $provider = new $provider($this);
        }
        if (array_key_exists($providerName = get_class($provider), $this->loadedProviders)) {
            return;
        }
        $this->loadedProviders[$providerName] = true;
        $provider->register();
        if (method_exists($provider, 'boot')) {
            $provider->boot();
        }
    }

Usage Example

示例#1
0
 /**
  * Register core framework service providers.
  */
 protected function registerProviders()
 {
     /*
      * Service providers.
      */
     $providers = apply_filters('themosis_service_providers', [Themosis\Ajax\AjaxServiceProvider::class, Themosis\Asset\AssetServiceProvider::class, Themosis\Config\ConfigServiceProvider::class, Themosis\Database\DatabaseServiceProvider::class, Themosis\Field\FieldServiceProvider::class, Themosis\Finder\FinderServiceProvider::class, Themosis\Hook\HookServiceProvider::class, Themosis\Html\FormServiceProvider::class, Themosis\Html\HtmlServiceProvider::class, Themosis\Load\LoaderServiceProvider::class, Themosis\Metabox\MetaboxServiceProvider::class, Themosis\Page\PageServiceProvider::class, Themosis\Page\Sections\SectionServiceProvider::class, Themosis\PostType\PostTypeServiceProvider::class, Themosis\Route\RouteServiceProvider::class, Themosis\Taxonomy\TaxonomyServiceProvider::class, Themosis\User\UserServiceProvider::class, Themosis\Validation\ValidationServiceProvider::class, Themosis\View\ViewServiceProvider::class]);
     foreach ($providers as $provider) {
         $this->container->register($provider);
     }
 }