With E_NOTICE
error messages enabled, PHP doesn't like the following code, unless the variables $mdDialog
and $mdToast
have already been defined:
if ($mdDialog || $mdToast) {
$ngMaterial = true;
}
To avoid E_NOTICE
error, I must write:
if (isset($mdDialog) || isset($mdToast)) {
$ngMaterial = true;
}
The problem is that, with the above code, if I have a $mdDialog = false;
line somewhere earlier, the statement will be truthy, which is not the idea. To avoid this, I'd have to write:
if ((isset($mdDialog) && $mdDialog) || (isset($mdToast) && $mdToast)) {
$ngMaterial = true;
}
And this is sooo much longer and feels excessive, only to avoid the E_NOTICE message.
So, the question is, should I care about these E_NOTICE
messages? Is there anything bad with checking the value of a variable that may not exist?
empty
can be useful in this case. Like below:
if (!empty($mdDialog) || !empty($mdToast)) {
$ngMaterial = true;
}
Read more about empty.