Ich bin mir nicht sicher, ob Bitmaske der richtige Begriff ist. Lassen Sie mich erklären:
In PHP kann die error_reporting
Funktion auf mehrere Arten aufgerufen werden:
// 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);
Ich habe den Begriff Bitmaske von der php.net Seite hier bekommen
Auf jeden Fall habe ich eine SIMPLE-Methode implementiert, ls
die den Inhalt eines Verzeichnisses zurückgibt.
Diese Funktion benötigt 3 Argumente ... ($ include_hidden = false, $ return_absolute = false, $ ext = false)
Wenn ich die Funktion aufrufe, lege ich fest, wie ich die Ergebnisse erzielen möchte. Ob ich möchte, dass die Ergebnisse versteckte Verzeichnisse zurückgeben, ob ich nur Basisnamen möchte usw.
Wenn ich also die Funktion aufrufe, schreibe ich
ls(true, false, true)
ls(false, false, true)
ls(true, true, true)
etc...
Ich dachte, es wäre viel besser lesbar, wenn ich nur markieren könnte, wie ich die Daten zurückgeben möchte?
so etwas wie:
ls( INCLUDE_HIDDEN | HIDE_EXTS );
ls( SHOW_ABSOLUTE_PATHS | HIDE_EXTS );
etc...
Wie würde ich dies implementieren, um zu testen, welche Flags aufgerufen wurden?
$flags & FLAG_1
- Überprüfen Sie, ob FLAG_1 gesetzt ist,$flags | FLAG_1
- Setzen Sie FLAG_1,$flags & ~FLAG_1
- Deaktivieren von FLAG_1,~$flags
- Invertieren von Flags