Snowair\Debugbar\ServiceProvider::boot PHP Method

boot() public method

public boot ( )
    public function boot()
    {
        $app = $this->di['app'];
        $debugbar = $this->di['debugbar'];
        $router = $this->di['router'];
        $eventsManager = $app->getEventsManager();
        if (!is_object($eventsManager)) {
            $eventsManager = new Manager();
        }
        if ($app instanceof Micro) {
            $eventsManager->attach('micro:beforeExecuteRoute', function () use($router) {
                ob_start();
            });
            $eventsManager->attach('micro:afterExecuteRoute', function ($event, $app) use($debugbar) {
                $response = $app->response;
                if (null === ($returned = $app->getReturnedValue())) {
                    $buffer = ob_get_clean();
                    $response->setContent($buffer);
                    $response = $debugbar->modifyResponse($response);
                    $response->send();
                } elseif (is_object($returned) && $returned instanceof ResponseInterface) {
                    $debugbar->modifyResponse($returned);
                }
            });
        } elseif ($app instanceof Application) {
            $eventsManager->attach('application:beforeSendResponse', function ($event, $app, $response) use($debugbar) {
                $debugbar->modifyResponse($response);
            });
        }
        $eventsManager->attach('application:afterStartModule', function ($event, $app, $module) use($debugbar) {
            $debugbar->attachServices();
        });
        $app->setEventsManager($eventsManager);
        $this->safeCheck();
        $debugbar->boot();
    }

Usage Example

Example #1
0
 /**
  * Register services
  */
 public function register()
 {
     $provider = new ServiceProvider();
     $provider->register();
     $provider->boot();
 }