getServices() as $service) { $this->rebindServiceContainer($app, $service); if (method_exists($service, 'register')) { $service->register(); } if (method_exists($service, 'boot')) { $app->invoke([$service, 'boot']); } } } protected function rebindServiceContainer($app, $service) { $closure = function () use ($app) { $this->app = $app; }; $resetService = $closure->bindTo($service, $service); $resetService(); } }