Example:
set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
what does that suppose to mean?
Example:
set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
what does that suppose to mean?
It is the not operator (also called "complement"). That is the bits set in ~ $a are those that are not set in $a.
So then
E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE
is the bits set in E_ALL and those not set in E_STRICT, E_WARNING and E_NOTICE. This basically says all errors except strict, warning and notice errors.
It's the bitwise-not operator. For example the bitwise negation of a number with binary representation 01011110 would be 10100001, every single bit is flipped to its opposite.
See Bitwise Operators : it's the "not" operator (quoting) :
~ $a
Bits that are set in$aare not set, and vice versa.
Which means, taking an example inspired from what you posted, that this portion of code :
var_dump(decbin(E_STRICT));
var_dump(decbin(~E_STRICT));
Will get you this output :
string '100000000000' (length=12)
string '11111111111111111111011111111111' (length=32)
(Add a couple of 0 for padding on the left of the first line, and you'll see what I mean)
Removing the padding from the second output, you get :
100000000000
011111111111
Which means the ~ operator gave a 0 bit for each bit that was equal to 1 in the intput -- and vice-versa,
It's the not bitwise operator. Read about bitwise operators here: