Как заставить инспектор кода проверять значение именованного аргумента функции с атрибутом ExpectedValues?
Здравствуйте. Если использовать именованный аргумент, то инспектор не анализирует ExpectedValues.
Есть в настройках что-то, что может это изменить? Или придётся смириться?
spoiler
function myFunction(
int $argument1 = 0,
#[ExpectedValues(values: ['foo', 'bar'])]
string $argument2 = 'foo'
): void
{
/*Do something*/
}
myFunction(0, 'baz'); //Видит Warning
myFunction(argument2: 'baz'); // Не реагирует
enum Value {
case foo;
case bar;
}
function myFunction(int arg1 = 0, Value $arg2 = Value::foo): void {}
myfunction(0, Value::bar); // Всё ок
myfunction(0, 'baz'); // Ошибка будет не только в шторме, но и во время исполнения в php
myfunction(0, 'baz');// Ошибка будет не только в шторме, но и во время исполнения в php
Тут она будет из-за неверного типа, а не значения, но суть я уловил.
Просто в моём случае это не упростит жизнь. Неверное значение и так приведёт к исключению, а функции - это методы класса (поленился с примером, каюсь). Мне только подсказки в IDE нужны.
ExpectedValues упрощает, но вот с именованными параметрами не работает, что досадно.
SymphoGraph, Да я просто так написал. Понятно, что вопрос о другом.
в IDE подобных настроек нет. Остается только обновляться и надеяться что допилят. Ну можно еще им в трекер написать. Это смахивает на недоработку или баг.