public function BatchStorage::create in Drupal 8
Same name in this branch
- 8 core/lib/Drupal/Core/Batch/BatchStorage.php \Drupal\Core\Batch\BatchStorage::create()
- 8 core/lib/Drupal/Core/ProxyClass/Batch/BatchStorage.php \Drupal\Core\ProxyClass\Batch\BatchStorage::create()
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Batch/BatchStorage.php \Drupal\Core\Batch\BatchStorage::create()
Creates and saves a batch.
Parameters
array $batch: The array representing the batch to create.
Overrides BatchStorageInterface::create
File
- core/
lib/ Drupal/ Core/ Batch/ BatchStorage.php, line 123
Class
Namespace
Drupal\Core\BatchCode
public function create(array $batch) {
// Ensure that a session is started before using the CSRF token generator.
$this->session
->start();
$try_again = FALSE;
try {
// The batch table might not yet exist.
$this
->doCreate($batch);
} catch (\Exception $e) {
// If there was an exception, try to create the table.
if (!($try_again = $this
->ensureTableExists())) {
// If the exception happened for other reason than the missing table,
// propagate the exception.
throw $e;
}
}
// Now that the table has been created, try again if necessary.
if ($try_again) {
$this
->doCreate($batch);
}
}