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


Exploring Generative AI In School
07/02/2025

Code.org, in collaboration with Amazon has announced the launch of a new curriculum to teach AI coding that teaches students how AI works, how to create with it, and the societal considerations and et [ ... ]



Dates Revealed For Microsoft Build and Google I/O
14/02/2025

Microsoft Build is taking place in what has become its "usual" slot - the beginning of the penultimate week of May - and in its "home" location, Seattle. This year Google I/O clashes with it, starting [ ... ]


More News

espbook

 

Comments




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

Last Updated ( Tuesday, 30 November 2021 )