Как реализовать битовую маску в php?

Я не уверен, что битовая маска является правильным термином. Поясню:

В 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);

Я получил термин битовая маска со страницы php.net здесь

В любом случае, суть в том, что я реализовал ПРОСТОЙ метод под названием 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 );

и т.д...

Как бы я реализовал это с точки зрения проверки того, какие флаги были вызваны?

69
задан tshepang 25 February 2014 в 19:10
поделиться