public function ViewExecutable::destroy in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/src/ViewExecutable.php \Drupal\views\ViewExecutable::destroy()
Unsets references so that a $view object may be properly garbage collected.
File
- core/modules/ views/ src/ ViewExecutable.php, line 2063 
Class
- ViewExecutable
- Represents a view as a whole.
Namespace
Drupal\viewsCode
public function destroy() {
  foreach ($this::getHandlerTypes() as $type => $info) {
    if (isset($this->{$type})) {
      foreach ($this->{$type} as $handler) {
        $handler
          ->destroy();
      }
    }
  }
  if (isset($this->style_plugin)) {
    $this->style_plugin
      ->destroy();
  }
  $reflection = new \ReflectionClass($this);
  $defaults = $reflection
    ->getDefaultProperties();
  // The external dependencies should not be reset. This is not generated by
  // the execution of a view.
  unset($defaults['storage'], $defaults['user'], $defaults['request'], $defaults['routeProvider'], $defaults['viewsData']);
  foreach ($defaults as $property => $default) {
    $this->{$property} = $default;
  }
}