Always try to avoid using the error suppression operator. In the previous article, the author states:
The @ operator is rather slow and can be costly if you need to write code with performance in mind.
Error suppression is slow. this is often as a result of PHP dynamically changes error_reporting to zero before corporal punishment the suppressed statement, then like a shot changes it back. this is often costly.
Worse, exploitation the error suppression operator makes it tough to trace down the basis reason for a haul.
The previous article uses the subsequent example to support the apply of assignment a variable by reference once it's unknown if $albus is set:
<?php
$albert =& $albus;
?>
Although this works — for now — relying on strange, unsupported behavior while not a really smart understanding of why it works may be a great way to introduce bugs. as a result of $albert is appointed to $albus by reference, future modifications to $albus will modify $albert.
A much higher resolution is to use isset(), with braces:
<?php
if (!isset($albus)) {
$albert = NULL;
}
?>
Assigning $albert to NULL is that the same as assignment it to a nonexistent reference, however being specific greatly improves the clarity of the code and avoids the denotative relationship between the 2 variables.
If you inherit code that uses the error suppression operator too, we’ve got a bonus tip for you. there's a replacement PECL extension known as Scream that disables error suppression.
No comments:
Post a Comment