ILIAS  release_7 Revision v7.30-3-g800a261c036
hasSymbolTrait.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
21
25use LogicException;
26
32{
36 protected $symbol;
37
41 public function withSymbol(Symbol $symbol) : hasSymbol
42 {
43 // bugfix mantis 25526: make aria labels mandatory
44 if (($symbol instanceof Glyph && $symbol->getAriaLabel() === "") ||
45 ($symbol instanceof Icon && $symbol->getLabel() === "")) {
46 throw new LogicException("the symbol's aria label MUST be set to ensure accessibility");
47 }
48
49 $clone = clone $this;
50 $clone->symbol = $symbol;
51
52 return $clone;
53 }
54
58 public function getSymbol() : Symbol
59 {
60 return $this->symbol;
61 }
62
66 public function hasSymbol() : bool
67 {
68 return $this->symbol instanceof Symbol;
69 }
70}
An exception for terminatinating execution or to throw for unit testing.
Interface hasSymbol Methods for Entries with Symbols.
Definition: hasSymbol.php:33
This describes how a glyph could be modified during construction of UI.
Definition: Glyph.php:14
This describes a symbol.
Definition: Symbol.php:12
trait hasSymbolTrait
Trait hasSymbolTrait.
withSymbol(Symbol $symbol)
@inheritDoc