Я не впевнений, що бітмаска - це правильний термін. Дозволь пояснити:
У php error_reporting
функцію можна викликати кількома способами:
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
Я отримав термін bitmask зі сторінки php.net тут
У будь-якому випадку суть цього полягає в тому, що я реалізував SIMPLE метод, ls
який викликається, який повертає вміст каталогу.
Ця функція приймає 3 аргументи ... ($ include_hidden = false, $ return_absolute = false, $ ext = false)
Тому, коли я викликаю функцію, я встановлюю, як я хочу результати. Чи хочу я, щоб результати повертали приховані каталоги, чи хочу я лише базові імена тощо.
тому, коли я викликаю функцію, я пишу
ls(true, false, true)
ls(false, false, true)
ls(true, true, true)
etc...
Я думав, що це було б набагато читабельніше, якби я міг просто позначити, як я хочу повернення даних?
так щось на зразок:
ls( INCLUDE_HIDDEN | HIDE_EXTS );
ls( SHOW_ABSOLUTE_PATHS | HIDE_EXTS );
тощо ...
Як я можу реалізувати це з точки зору тестування, які прапорці були викликані?
$flags & FLAG_1
- перевірити, чи встановлено FLAG_1,$flags | FLAG_1
- встановити FLAG_1,$flags & ~FLAG_1
- скасувати FLAG_1,~$flags
- інвертувати прапори