Unset references so that a $view object may be properly garbage collected.
public function destroy() {
foreach ($this::viewsHandlerTypes() 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 storage should not be reset. This is not generated by the execution
// of a view.
unset($defaults['storage']);
foreach ($defaults as $property => $default) {
$this->{$property} = $default;
}
}