StageEventException.php
Namespace
Drupal\package_manager\ExceptionFile
-
core/
modules/ package_manager/ src/ Exception/ StageEventException.php
View source
<?php
declare (strict_types=1);
namespace Drupal\package_manager\Exception;
use Drupal\package_manager\Event\PreOperationStageEvent;
use Drupal\package_manager\Event\StageEvent;
/**
* Exception thrown if an error related to an event occurs.
*
* This exception is thrown when an error strictly associated with an event
* occurs. This is also what makes it different from StageException.
*
* Should not be thrown by external code.
*/
class StageEventException extends StageException {
/**
* Constructs a StageEventException object.
*
* @param \Drupal\package_manager\Event\StageEvent $event
* The stage event during which this exception is thrown.
* @param string|null $message
* (optional) The exception message. Defaults to a plain text representation
* of the validation results.
* @param mixed ...$arguments
* Additional arguments to pass to the parent constructor.
*/
public function __construct(StageEvent $event, ?string $message = NULL, ...$arguments) {
parent::__construct($event->stage, $message ?: $this->getResultsAsText(), ...$arguments);
}
/**
* Formats the validation results, if any, as plain text.
*
* @return string
* The results, formatted as plain text.
*/
protected function getResultsAsText() : string {
$text = '';
if ($this->event instanceof PreOperationStageEvent) {
foreach ($this->event
->getResults() as $result) {
$messages = $result->messages;
$summary = $result->summary;
if ($summary) {
array_unshift($messages, $summary);
}
$text .= implode("\n", $messages) . "\n";
}
}
return $text;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
StageEventException | Exception thrown if an error related to an event occurs. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.