我不确定位掩码是否正确。让我解释:
在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页面获得术语bitmask
无论如何,我已经实现了一个称为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
-检查是否$flags | FLAG_1
设置了FLAG_1,$flags & ~FLAG_1
-设置了FLAG_1,-未设置FLAG_1,~$flags
-反转了标志