PHP 5 vs PHP 7
PHP is a server side scripting language designed for web development by Rasmus Lerdorf in 1994. Since its launch in 1994 PHP has become an industry standard supporting almost 80% of the websites ( 79.8% to be precise) with its closest competitor being ASP.Net at 19.8% and others like Ruby, Java trailing far behind.
The PHP development team released the latest version of PHP: PHP 7 claiming it to be twice as fast as its predecessor PHP 5. So, is migrating to PHP 7 really worth it?
Let’s get into some details:
Advantages:
- Performance: As per Zend Technologies, the performance improvement is huge!! Just upgrading to PHP 7 gives enormous performance upgrades. Hence, PHP 7 is often termed PHPNG (PHP – Next Gen) taking the performance of your code to a whole new level.
- Return Type: Developers have been raising their eyebrows over not being able to declare a return type for their function. This has somewhat been taken care of in PHP 7 where you will be able to declare what type of value will be returned. Eg. :
public function area (float $r) : float { return 3.14*$r*$r; }
- Spaceship Operator: As the name suggests, the spaceship operator introduced is certainly from a different world. It can be mostly used in sorting and combined comparison. Example:
Before:
function sort ($a,$b) { if ($a>$b) return 1; else if ( $a ==$b) return 0; else return -1; }
In PHP 7:
function sort ($a,$b) { return $a < = > $b; }
- Null Coalesce Operator:The coalesce operator (??) returns result of its first operand if it exists, or null if it doesn’t. Eg. :
-
Before:
if (isset ($_GET [‘name’])) { $name = $_GET [‘name’]; } else $name = null;
In PHP 7:
$name = $_GET [‘name’]?? Null;
Additional Features:
- Unicode Codepoint Escape Syntax : PHP 7 introduced syntax to escape Unicode codepoint as below :
-
echo “\u{202E} Reverse “; // This outputs : esreveR
- Deprecation of mysql_* functions: PHP 7 has deprecated all mysql_* functions, now developers have to use mysqli (the intelligent version of MySQL) instead.
-
Cons:
While there is no major downside to it, but to just point out, here is a list of some:
- A lot of extensions are not ready yet for PHP 7.
- If anyone has functions like “ereg” and “mysql” buried deep inside their code base, they are gonna strike a Backward Compatibility wall as these functions are deprecated and, it is going to be a real pain in the behind to upgrade.
-
Conclusion:
PHP 7 is the future of PHP and all the applications will need to upgrade to PHP 7 sooner or later. Like all major revolutions throughout history, the PHP 7 revolution will also be spilling some blood before producing something awesome.
How do you feel about PHP 7 in general? Is it heading in the right direction? Let us know!!
Reference