Добрый день всем.
Я пытаюсь найти способ использовать несколько флагов для функции без увеличения количества аргументов.
Например, чтобы использовать его таким образом some_func (flag1 | flag2 | flag3);
Пока я сделал это так
define('flag1', 1);
define('flag2', 2);
define('flag3', 4);
function flagtest($flags)
{
if ($flags & flag1)
echo 'flag1 is on, ';
if ($flags & flag2)
echo 'flag2 is on, ';
if ($flags & flag3)
echo 'flag3 is on, ';
}
flagtest(flag2 | flag3);
И выводит, что флаги 2 и 3 включены.
Итак, все работает. Но ... я уверен, что есть лучший способ сделать это ... Это правильно?
Итак, вопрос - как я могу сделать это лучше? Я уверен, что есть правильный способ реализовать такие вещи.