Features in PHP 7
The developers worked terribly arduous to refactor the PHP codebase so as to cut back memory consumption and increase performance. and that they definitely succeeded.
Benchmarks for PHP seven systematically show speeds doubly as quick as PHP five.6 and plenty of times even faster! though these results aren’t secured for your project, the benchmarks were tested against major comes, Drupal and WordPress, thus these numbers don’t return from abstract performance tests.
2. Type Declarations
Type declarations merely suggests that specifying which sort of variable is being set rather than permitting PHP to line this mechanically. PHP is taken into account to be a weak typewritten language. In essence, this suggests that PHP doesn’t need you to declare information varieties. Variables still have information varieties related to them however you’ll do radical things like adding a string to an whole number while not leading to a blunder. sort declarations will facilitate your outline what ought to occur in order that you get the expected results. this will conjointly build your code easier to scan. We’ll take a look at some specific examples shortly.
Since PHP five, you’ll use kind hinting to specify the expected knowledge style of an argument in a very perform declaration, however solely within the declaration. after you decision the perform, PHP can check whether or not or not the arguments are of the desired kind. If not, the run-time can raise a slip-up and execution are going to be halted. Besides solely getting used in perform declarations, we tend to were conjointly restricted to essentially two sorts. a category name or associate array.
3. Error Handling
The next feature we tend to visiting cowl are the changes to Error Handling. Handling fatal errors within the past has been next to not possible in PHP. A fatal error wouldn’t invoke the error handler and would merely stop your script. On a production server, this typically means that showing a blank white screen, that confuses the user and causes your believability to drop. It may also cause problems with resources that were ne’er closed properly and are still in use or maybe bolted.
In PHP 7, AN exception are going to be thrown once a fatal and recoverable error happens, instead of simply stopping the script. Fatal errors still exist surely conditions, like running out of memory, and still behave as before by now stopping the script. AN uncaught exception will still be a fatal error in PHP seven. This implies if AN exception thrown from a slip that was fatal in PHP five goes uncaught, it’ll still be a fatal error in PHP seven.
4. New Operators
PHP seven additionally brings some new operators. The primary one we’re visiting explore is that the starship operator. With a reputation like that, WHO doesn’t wish to use it? The starship operator, or Combined Comparison Operator, could be a nice addition to the language, complementing the greater-than and less-than operators.
Spaceship Operator: < = >
5. Easy User-land CSPRNG
User-land refers to associate degree application area that’s external to the kernel and is protected by privilege separation, API for a straightforward to use and reliable Cryptographically Secure PseudoRandom variety Generator in PHP.
Essentially secure method of generating random information. There are random variety generators in PHP, rand() as an example, however none of the choices in version five are terribly secure. In PHP 7, they place along a system interface to the operational system’s random variety generator. as a result of we will currently use the operational system’s random variety generator, if that gets hacked we’ve got larger issues. It in all probability suggests that your entire system is compromised and there’s a flaw within the software package itself.
Secure random numbers are especially useful when generating random passwords or password salt.
Benefits Of PHP7
- Improved performance: PHP 7 is up to twice as fast as PHP 5.6
- Significantly reduced memory usage
- Abstract Syntax Tree
- Consistent 64-bit support
- Improved Exception hierarchy
- Many fatal errors converted to Exceptions
- Secure random number generator
- Removed old and unsupported SAPIs and extensions
- The null coalescing operator (??)
- Return and Scalar Type Declarations
- Anonymous Classes
- Zero cost asserts
We covered features of php 7 from speed and type declarations to easy user land csprng. You also learned how to retrieve and handle user input from GET and POST requests, as well as how to use the session to persist data between different pages.