Advanced Features of PHP 7


WHY PHP7 ?

In this technical era, advancement of technologies takes place every day. PHP is the most commonly used server side scripting language, designed mainly for web development and also used as building dynamic web pages. Nearly 82% of websites use PHP.

History Of PHP-

PHP3 is the first version of PHP. It is a purely procedural language like C. Due to inefficient & lacking features PHP4 was released on May 22, 2000. PHP4 has some OOPs concept like class & object with some new features over PHP3. PHP4 was powered by Zend Engine-1. PHP5 has some advanced features over PHP4. It was officially released on July 13, 2004. PHP5 is driven by its core, the Zend Engine 2 with a new object model & a couple of new features over PHP4.

PHP5 has major OOPs concept like Type hinting, Function overloading, Interfaces, Abstract class, Inheritance, Polymorphism etc. To improve the functionality of complex application & modularity of PHP code PHP7 was officially released in December 2015.It is powered by Zend Engine 3.0. It is 2 times faster in performance and has 50% better memory consumption than PHP5.By using PHP7 you will need fewer servers to serve the same amount of users.

Additional Features In PHP7-


1. Improved Performance-

Performance improvement is the major feature in php7. By using PHP7 not only your code will be executed faster but also it uses less memory. So it will bear more traffic without any additional cost.

2. New Zend Engine-

PHP is powered by Zend engine since PHP4 was released. Zend Engine is the open source scripting engine written in C that interprets the PHP programming language. To enhance the functionality of current Zend engine, PHP7 was powered by Zend engine 3.0 that comes under the code name of PHPNG (Next Generation).

3. Type Declaration-

Type declaration defines the type of variable. PHP is considered as weakly typed language, as it automatically sets the variable type, but PHP7 allows developers to enhance the quality of their code with the help of return type declaration. It helps to declare what return type (int, float, bool, array) a function is expected to return.

For example:-
function etrix() : array{
    return [ ] ;
}
In this example array indicates the function will return only array.

4. Abstract Syntax tree(AST)/Uniform variable syntax-

Most compilers and interpreters create an intermediate data structure before running the program called AST. It provides a structural presentation of your program. It is a tree like structure that makes parsing PHP code easier with decreasing chances of error.

5. New Operators-

PHP7 introduces two new operators-

  • Spaceship operator(<=>) or Combined comparison-
    It can be used mostly in sorting and combined comparison. It works like strcmp() or version_compare().

    Example:-
    Before PHP7-
    function etrix ($a , $b) {
       return ( $a < $b ) ? -1 : ( ($a > $b) ? 1 : 0);
    }
    

    After PHP7-
    function etrix ( $a , $b ) {
       return  $a <=> $b;
    }
    

  • Null Coalesce Operator-
    It is denoted with two question marks (??). In the expression if the value of left operand is not null it return the left operand otherwise it returns right operand.

    Example:-
    Before PHP7-
    $site = isset($etrix) ? $etrix : “indifix”;

    After PHP7-
    $site = $etrix ?? "indifix";
    In the example above if the variable $etrix is not null it assign the value of $etrix to the variable $site, otherwise indifix is assign to variable $site.

6. Error Handling-

In the previous versions of PHP if a fatal error occurs, it just stops the script rather than handle fatal and catchable fatal errors, but in php7 the new Engine Exception will allow you to replace this kind of errors with exceptions rather than stopping the whole script. If the exception is not caught PHP will continue to return same fatal errors.

7. 64-Bit Windows System Support-

Native environment of PHP is Linux, but it also runs on windows system. The previous versions of PHP don’t provide 64-bit integer or large file support. But PHP7 allows you to run the program on 64-bit windows system and provide large file support.

8. Add Anonymous Classes-

PHP7 allows you to use anonymous classes (It is a class having no name). Object of anonymous class has same functionality as an object of named class, but it speeds up the execution time.
Anonymous classes are useful when a class is used once during execution.

Example :-
new class {
   public function etrix ( ){
      return true;
   }
}

9. Namespace-

Namespace are the way of encapsulating items. PHP7 allow to import many classes from the same namespace.

For Example-
Before PHP7-
use etrix\etrixtech\class A;
use etrix\etrixtech\class B;
use etrix\etrixtech\class C as Indifix;

After PHP7-
use etrix\etrixtech \ { class A, class B, class C as indifix};

Leave a Reply