A class to contain multiple Notice instances, whether messages, warnings or errors
This class manages notices that have been sent by Wire::message()
, Wire::warning()
and Wire::error()
calls. The message(), warning() and error() methods are available on every Wire
derived object. This class is primarily
for internal use in the admin. However, it may also be useful in some front-end contexts.
// Adding a NoticeMessage using object syntax
$notices->add(new NoticeMessage("Hello World"));
// Adding a NoticeMessage using regular syntax
$notices->message("Hello World");
// Adding a NoticeWarning, and allow markup in it
$notices->message("Hello <strong>World</strong>", Notice::allowMarkup);
// Adding a NoticeError that only appears if debug mode is on
$notices->error("Hello World", Notice::debug);
Iterating and outputting Notices:
foreach($notices as $notice) {
// skip over debug notices, if debug mode isn't active
if($notice->flags & Notice::debug && !$config->debug) continue;
// entity encode notices unless the allowMarkup flag is set
if($notice->flags & Notice::allowMarkup) {
$text = $notice->text;
} else {
$text = $sanitizer->entities($notice->text);
}
// output either an error, warning or message notice
if($notice instanceof NoticeError) {
echo "<p class='error'>$text</p>";
} else if($notice instanceof NoticeWarning) {
echo "<p class='warning'>$text</p>";
} else {
echo "<p class='message'>$text</p>";
}
}
Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Notices
class also inherits all the methods and properties of: WireArray and Wire.
Common
Name | Return | Summary | |
---|---|---|---|
$notices->add() $notices->add(Notice $item) $notices->add(Notice $item) | Notices WireArray | Add a Notice object | |
$notices->hasErrors() $notices->hasErrors() $notices->hasErrors() | bool | Are there NoticeError items present? | |
$notices->hasWarnings() $notices->hasWarnings() $notices->hasWarnings() | bool | Are there NoticeWarning items present? | |
$notices->move() $notices->move(Wire $from, Wire $to) $notices->move(Wire $from, Wire $to, array $options = []) | int | Move notices from one Wire instance to another | |
$notices->removeNotice() $notices->removeNotice($item) $notices->removeNotice($item) | self | Remove a Notice |
Additional methods and properties
In addition to the methods and properties above, Notices also inherits the methods and properties of these classes:
API reference based on ProcessWire core version 3.0.236