| Total Complexity | 8 |
| Total Lines | 69 |
| Duplicated Lines | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 9 | class Flag implements Parameter |
||
| 10 | { |
||
| 11 | public $names; |
||
| 12 | protected $locale; |
||
| 13 | |||
| 14 | /** |
||
| 15 | * Конструктор |
||
| 16 | * |
||
| 17 | * @param string $name - имя флага |
||
| 18 | */ |
||
| 19 | public function __construct (string $name) |
||
| 20 | { |
||
| 21 | $this->names = [$name]; |
||
| 22 | } |
||
| 23 | |||
| 24 | /** |
||
| 25 | * Установка локализации |
||
| 26 | * |
||
| 27 | * @param Locale $locale - объект локализации |
||
| 28 | * |
||
| 29 | * @return Flag - возвращает сам себя |
||
| 30 | */ |
||
| 31 | public function setLocale (Locale $locale): Param |
||
| 32 | { |
||
| 33 | $this->locale = $locale; |
||
| 34 | |||
| 35 | return $this; |
||
|
|
|||
| 36 | } |
||
| 37 | |||
| 38 | /** |
||
| 39 | * Добавление алиаса |
||
| 40 | * |
||
| 41 | * @param string $name - алиас для добавления |
||
| 42 | * |
||
| 43 | * @return Flag - возвращает сам себя |
||
| 44 | */ |
||
| 45 | public function addAliase (string $name) |
||
| 46 | { |
||
| 47 | if (array_search ($name, $this->names) !== false) |
||
| 48 | throw new \Exception ($this->locale->aliase_exists_exception); |
||
| 49 | |||
| 50 | $this->names[] = $name; |
||
| 51 | |||
| 52 | return $this; |
||
| 53 | } |
||
| 54 | |||
| 55 | /** |
||
| 56 | * Парсер флагов |
||
| 57 | * |
||
| 58 | * @param array &$args - массив аргументов для парсинга |
||
| 59 | * |
||
| 60 | * Возвращает состояние флага |
||
| 61 | */ |
||
| 62 | public function parse (array &$args) |
||
| 78 | } |
||
| 79 | } |
||
| 80 |