Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Exception.php
Go to the documentation of this file.
1 <?php
9 
14 
22 {
26  protected $messages = [];
27 
36  public function __construct(
37  Phrase $phrase = null,
38  \Exception $cause = null,
39  array $messages = [],
40  $code = 0
41  ) {
42  if (!empty($messages)) {
43  $message = '';
44  foreach ($messages as $propertyMessages) {
45  foreach ($propertyMessages as $propertyMessage) {
46  if ($message) {
47  $message .= PHP_EOL;
48  }
49  $message .= $propertyMessage;
50  $this->addMessage(new Error($propertyMessage));
51  }
52  }
53  $phrase = new Phrase($message);
54  }
55  parent::__construct($phrase, $cause, $code);
56  }
57 
65  {
66  if (!isset($this->messages[$message->getType()])) {
67  $this->messages[$message->getType()] = [];
68  }
69  $this->messages[$message->getType()][] = $message;
70  return $this;
71  }
72 
79  public function getMessages($type = '')
80  {
81  if ('' == $type) {
82  $allMessages = [];
83  foreach ($this->messages as $messages) {
84  $allMessages = array_merge($allMessages, $messages);
85  }
86  return $allMessages;
87  }
88  return $this->messages[$type] ?? [];
89  }
90 }
addMessage(AbstractMessage $message)
Definition: Exception.php:64
$message
$type
Definition: item.phtml:13
__construct(Phrase $phrase=null, \Exception $cause=null, array $messages=[], $code=0)
Definition: Exception.php:36
$code
Definition: info.phtml:12