ViewExecutable::destroy

public ViewExecutable::destroy()

Unsets references so that a $view object may be properly garbage collected.

File

core/modules/views/src/ViewExecutable.php, line 2050

Class

ViewExecutable
Represents a view as a whole.

Namespace

Drupal\views

Code

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;
  }
}
doc_Drupal
2016-10-29 09:54:18
Comments
Leave a Comment

Please login to continue.