Метод isRequired
Метод isRequired класса OptionsResolver
проверяет, была ли опция помечена как обязательная
с помощью метода setRequired. Первым
параметром передаётся имя проверяемой опции.
Метод возвращает true, если опция
обязательна, и false в противном случае.
Синтаксис
public function isRequired(string $option): bool
Пример
Давайте создадим резолвер, отметим опцию host
обязательной и проверим её через isRequired:
<?php
namespace AppService;
use SymfonyComponentOptionsResolverOptionsResolver;
class OptionsChecker
{
public function check(): void
{
$resolver = new OptionsResolver();
$resolver->setRequired('host');
$resolver->setRequired('port');
$resolver->setDefault('user', 'admin');
$res = $resolver->isRequired('host');
var_dump($res);
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим опцию, которая не была помечена обязательной:
<?php
namespace AppService;
use SymfonyComponentOptionsResolverOptionsResolver;
class OptionsChecker
{
public function check(): void
{
$resolver = new OptionsResolver();
$resolver->setRequired('host');
$resolver->setDefault('user', 'admin');
$res = $resolver->isRequired('user');
var_dump($res);
}
}
?>
Результат выполнения кода:
false
Пример
Давайте используем isRequired для условной
проверки набора опций перед вызовом resolve:
<?php
namespace AppService;
use SymfonyComponentOptionsResolverOptionsResolver;
class OptionsChecker
{
public function check(): void
{
$resolver = new OptionsResolver();
$resolver->setRequired(['host', 'port']);
$resolver->setDefault('user', 'admin');
$required = [];
foreach (['host', 'port', 'user'] as $option) {
if ($resolver->isRequired($option)) {
$required[] = $option;
}
}
var_dump($required);
}
}
?>
Результат выполнения кода:
["host", "port"]
Смотрите также
-
метод
setRequired,
который помечает опцию обязательной -
метод
isDefined,
который проверяет, определена ли опция -
метод
resolve,
который возвращает массив опций с проверкой обязательных -
класс
OptionsResolver,
который управляет набором опций