PHP 8.0 Adds Metadata To Classes
Written by Kay Ewbank   
Tuesday, 08 December 2020

There's a major new release of PHP with improvements including a nullsafe operator and attributes enabling the use of structured metadata with PHP's native syntax.

PHP began life 25 years ago as a simple scripting language designed to build web pages but has developed into a general server-side web language. It is now used for eight out of ten websites using server-side code. 

phplogo

This is a major upgrade to the language, with a number of notable improvements. The support for metadata for classes via attributes provides an alternative to the previous technique of parsing docblocks. Attributes are usually called annotations in other languages.

There are two new JIT compilers in the new release. The Tracing JIT, which the developers say is the most promising of the two, shows about three times better performance on synthetic benchmarks and up to two times improvement on some specific long-running applications.

phpjit

The developers say that they decided to include the JIT compilers because they've run out of other ways to improve PHP's performance using other optimization strategies. They also believe that using JIT may open the door for PHP being more frequently used in other, non-Web, CPU-intensive scenarios where PHP wasn't a language under consideration without JIT.

The addition will also offer the opportunity to develop built-in functions in PHP, instead of (or in addition to) C - without suffering the huge performance penalty that would be associated with such a strategy in the previous, non-JITted engine.

The new nullsafe operator is another improvement. It means developers can avoid the problems of the null coalescing operator, specifically that it doesn't work on method calls. The new operator means PHP has null coalescing-like behavior on methods.

Other improvements include the addition of Union types,collections of two or more types which indicate that either one of those can be used; and named arguments, so you can now pass arguments to a function based on the parameter name, rather than the parameter position.

PHP 8.0 is now available for download.

phplogo

More Information

PHP Website

Related Articles

PHP 7.4 Gets Foreign Function Interface

PHP Is Best?

PHP 7.2 With Built-in Libsodium

What PHP Does

PHP Variables and Expressions for Complete Beginners

Object-oriented HTML Generation In PHP

PHP 5.6 Released

PHP Gets A Formal Specification 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Mojo - Python Superset For Go-Faster Hardware
07/10/2024

Mojo, the new language from Chris Lattner and his AI-focused company Modular, has entered the top 50 of the TIOBE index, even though it it was only launched in 2023.



Microsoft's Generative AI for Beginners Version 2
27/09/2024

An updated version of the free, self-paced online course by Microsoft's Azure Cloud Advocates on Generative AI has been released.


More News

kotlin book

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 30 November 2021 )