You are here

public function MenuTreeParameters::serialize in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Menu/MenuTreeParameters.php \Drupal\Core\Menu\MenuTreeParameters::serialize()

File

core/lib/Drupal/Core/Menu/MenuTreeParameters.php, line 214

Class

MenuTreeParameters
Provides a value object to model menu tree parameters.

Namespace

Drupal\Core\Menu

Code

public function serialize() {

  // Enforce type consistency for all the internal properties of this object.
  $this->root = (string) $this->root;
  $this->minDepth = $this->minDepth !== NULL ? (int) $this->minDepth : NULL;
  $this->maxDepth = $this->maxDepth !== NULL ? (int) $this->maxDepth : NULL;
  $this->activeTrail = array_values(array_filter($this->activeTrail));

  // Sort 'expanded' and 'conditions' to prevent duplicate cache items.
  sort($this->expandedParents);
  asort($this->conditions);
  return serialize([
    'root' => $this->root,
    'minDepth' => $this->minDepth,
    'maxDepth' => $this->maxDepth,
    'expandedParents' => $this->expandedParents,
    'activeTrail' => $this->activeTrail,
    'conditions' => $this->conditions,
  ]);
}