You are here

class UpdateBuildIdCommand in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Ajax/UpdateBuildIdCommand.php \Drupal\Core\Ajax\UpdateBuildIdCommand

AJAX command for updating the value of a hidden form_build_id input element on a form. It requires the form passed in to have keys for both the old build ID in #build_id_old and the new build ID in #build_id.

The primary use case for this Ajax command is to serve a new build ID to a form served from the cache to an anonymous user, preventing one anonymous user from accessing the form state of another anonymous user on Ajax enabled forms.

This command is implemented by Drupal.AjaxCommands.prototype.update_build_id() defined in misc/ajax.js.

Hierarchy

Expanded class hierarchy of UpdateBuildIdCommand

Related topics

2 files declare their use of UpdateBuildIdCommand
AjaxCommandsTest.php in core/tests/Drupal/Tests/Core/Ajax/AjaxCommandsTest.php
FormAjaxResponseBuilder.php in core/lib/Drupal/Core/Form/FormAjaxResponseBuilder.php

File

core/lib/Drupal/Core/Ajax/UpdateBuildIdCommand.php, line 20

Namespace

Drupal\Core\Ajax
View source
class UpdateBuildIdCommand implements CommandInterface {

  /**
   * Old build id.
   *
   * @var string
   */
  protected $old;

  /**
   * New build id.
   *
   * @var string
   */
  protected $new;

  /**
   * Constructs an UpdateBuildIdCommand object.
   *
   * @param string $old
   *   The old build_id.
   * @param string $new
   *   The new build_id.
   */
  public function __construct($old, $new) {
    $this->old = $old;
    $this->new = $new;
  }

  /**
   * {@inheritdoc}
   */
  public function render() {
    return [
      'command' => 'update_build_id',
      'old' => $this->old,
      'new' => $this->new,
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
UpdateBuildIdCommand::$new protected property New build id.
UpdateBuildIdCommand::$old protected property Old build id.
UpdateBuildIdCommand::render public function Return an array to be run through json_encode and sent to the client. Overrides CommandInterface::render
UpdateBuildIdCommand::__construct public function Constructs an UpdateBuildIdCommand object.