Having an assignment to “this” can be unproductive

[vc_row][vc_column]Production RiskSoftware ResiliencyCode Reliability[vc_empty_space height=”12px”][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

Having an assignment to “this” can be unproductive

[/vc_column_text][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]This code insight counts a violation each time the PHP script has an assignment to “this”

“This report lists all the Classes containing assignements to ‘$this’.

It provides the following information:
Class full name.”

Remedy –

Modify the source code and do not assign to ‘$this’.

” <?php
class foo {

function foo(){
// construct
}

function bar(){
$this = true;
}
}
?>
“[/vc_column_text][vc_empty_space height=”12px”][vc_empty_space height=”32px”][vc_single_image image=”5362″ img_link_large=”” img_link_target=”_self” img_size=”full” alignment=”none”][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

Why you should care

[/vc_column_text][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

In PHP the assignment to $this is used to unset the object, or it is a typographical error. Unsetting an object is not really necessary for performance reasons. Removing all variables that point to the object to be unset will have the same result. It is also important to remember to do so because the result will be a fatal error. As such, in PHP5 mode, this kind of practice could provoke a failure.

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/2″][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

Business Impacts

[/vc_column_text]Production Risk[/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/2″][vc_separator color=”grey” align=”align_center” style=”” border_width=”” el_width=””][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

CAST recommendations

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/2″][vc_separator color=”grey” align=”align_center” style=”” border_width=”” el_width=””][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

References

https://www.tutorialspoint.com/sql/sql-transactions.htm[/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/1″][vc_single_image image=”5362″ img_link_large=”” img_link_target=”_self” img_size=”full” alignment=”none”][vc_column_text pl=”0″ pr=”0″ pt=”0″ pb=”0″]

About CAST and Highlight’s Code Insights

Over the last 25 years, CAST has leveraged unique knowledge on software quality measurement by analyzing thousands of applications and billions of lines of code. Based on this experience and community standards on programming best practices, Highlight implements hundreds of code insights across 15+ technologies to calculate health factors of a software.

[/vc_column_text][vc_empty_space height=”16px”]See featuresHow it works[/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]

?>