Задать вопрос

Как ограничить варианты значения аргумента в методе?

Всем привет! Мне нужно сделать так, чтобы в функции
function getContent($arg){
//.....
}

Аргумент $arg был ограничен несколькими вариантами строк. Например "posts", "news" и "comments".
Я понимаю, что я могу сделать проверку по типу in_array(), но такой вариант мне не нравится. Когда-то, то ли в книжке, то ли в каком-то коде я встречал вариант с указанием констант и не могу его вспомнить.
  • Вопрос задан
  • 186 просмотров
Подписаться 3 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
Playmore
@Playmore
Опытный разработчик
если на входе ассоциативный массив, то например так
$arg = array_intersect_assoc($arg, array_flip(['post', 'news', 'comments']))
Ответ написан
Комментировать
@sl0
С константами, подозреваю, имеется в виду SplEnum:
https://www.php.net/manual/en/class.splenum.php

Но я бы не стал с этим заморачиваться, а сделал декоратор для функции, который принимал бы $arg, проверял их любым способом - хоть через in_array, хоть через switch и потом вызывал уже getContent.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽