function DrupalKernel::terminate
Overrides TerminableInterface::terminate
File
-
core/
lib/ Drupal/ Core/ DrupalKernel.php, line 678
Class
- DrupalKernel
- The DrupalKernel class is the core of Drupal itself.
Namespace
Drupal\CoreCode
public function terminate(Request $request, Response $response) : void {
if ($this->booted && $this->getHttpKernel() instanceof TerminableInterface) {
// Only run terminate() when essential services have been set up properly
// by preHandle() before.
if ($this->prepared === TRUE) {
$this->getHttpKernel()
->terminate($request, $response);
}
// For destructable services, always call the destruct method if they were
// initialized during the request. Destruction is not necessary if the
// service was not used.
foreach ($this->container
->getParameter('kernel.destructable_services') as $id) {
if ($this->container
->initialized($id)) {
$service = $this->container
->get($id);
$service->destruct();
}
}
}
}