function WorkspaceManager::executeOutsideWorkspace

Same name and namespace in other branches
  1. 10 core/modules/workspaces/src/WorkspaceManager.php \Drupal\workspaces\WorkspaceManager::executeOutsideWorkspace()
  2. 9 core/modules/workspaces/src/WorkspaceManager.php \Drupal\workspaces\WorkspaceManager::executeOutsideWorkspace()
  3. 8.9.x core/modules/workspaces/src/WorkspaceManager.php \Drupal\workspaces\WorkspaceManager::executeOutsideWorkspace()

Executes the given callback function without any workspace context.

Parameters

callable $function: The callback to be executed.

Return value

mixed The callable's return value.

Overrides WorkspaceManagerInterface::executeOutsideWorkspace

File

core/modules/workspaces/src/WorkspaceManager.php, line 210

Class

WorkspaceManager
Provides the workspace manager.

Namespace

Drupal\workspaces

Code

public function executeOutsideWorkspace(callable $function) {
  $previous_active_workspace = $this->getActiveWorkspace();
  // Switch to Live if we're in a workspace.
  if ($previous_active_workspace) {
    $this->doSwitchWorkspace(NULL);
  }
  $result = $function();
  // Switch back if needed.
  if ($previous_active_workspace) {
    $this->doSwitchWorkspace($previous_active_workspace);
  }
  return $result;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.