Home > headlines > PHP8.1 is officially released, come and update it!

PHP8.1 is officially released, come and update it!

藏色散人
Release: 2021-11-26 14:48:25
Original
4300 people have browsed it

Finally PHP8.1 is out! ! ! Please read the official PHP announcement for details: https://www.php.net/releases/8.1/en.php

PHP8.1 is officially released, come and update it!

PHP 8.1.0 is now available Released, this version brings many improvements and new features.

Enumerations

Use an enumeration instead of a set of constants and validate immediately.

PHP8.1 is officially released, come and update it!

Read-only properties

Read-only properties cannot be changed after initialization, i.e., after they have been assigned a value. They can be used to model value objects and data transfer objects.

PHP8.1 is officially released, come and update it!

First-class callable syntax

Now you can get a reference to any function.

PHP8.1 is officially released, come and update it!

New initializer

Objects can now be used as default parameter values, static variables and global constants, and property parameters, This effectively makes it possible to use nested properties.

PHP8.1 is officially released, come and update it!

Pure intersection type

When a value needs to satisfy multiple type constraints at the same time, use the intersection type. Note that it is currently not possible to mix intersection and union types, such as A&B|C.

PHP8.1 is officially released, come and update it!

Never return type

A function or method declared using the never type means that it will not return a value and will throw an exception Or end the execution of the script by calling die(), exit(), trigger_error() or similar.

PHP8.1 is officially released, come and update it!

Final class constants

Final class constants can be declared to prevent them from being overridden in subclasses.

PHP8.1 is officially released, come and update it!

Explicit octal number representation

Octal numbers can now be written using an explicit 0o prefix.

PHP8.1 is officially released, come and update it!

Fibers

Fibers are primitives for implementing lightweight cooperative concurrency. They are a way to create blocks of code that can be paused and resumed like generators, but from anywhere in the stack. Fibers themselves do not provide concurrency, an event loop is still required. However, they allow sharing the same API through blocking and non-blocking implementations. Fibers allow for getting rid of the boilerplate code previously seen in Promise::then() or generator-based coroutines. Libraries often build further abstractions around Fiber so there is no need to interact with them directly.

PHP8.1 is officially released, come and update it!

Array unpacking support for string-keyed arrays

PHP previously supported unpacking inside arrays via the spread operator , but only if the array has integer keys. Arrays can now also be unpacked using string keys.

PHP8.1 is officially released, come and update it!

Performance Optimization

PHP 8.1 also has some changes in performance, including:

  • JIT backend for ARM64 (AArch64)

  • Inheritance caching (avoids relinking classes on every request)

  • Quick class names Parsing (avoiding lowercase and hash lookups)

  • timelib and ext/date performance improvements

  • SPL file system iterator improvements

  • Serialization/deserialization optimization

  • Some internal function optimizations (get_declared_classes(), explode(), strtr(), strnatcmp(), dechex( ))

  • JIT improvements and fixes

PHP8.1 is officially released, come and update it!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template