Heim  >  Artikel  >  PHP8.1 hört nicht auf, sich weiterzuentwickeln, sondern bringt 8 wichtige neue Änderungen mit sich!

PHP8.1 hört nicht auf, sich weiterzuentwickeln, sondern bringt 8 wichtige neue Änderungen mit sich!

藏色散人
藏色散人Original
2021-11-10 16:21:014499Durchsuche

„PHP ist die beste Sprache der Welt“, sie hört nie auf, sich weiterzuentwickeln! Das PHP-Team hat derzeit die Version PHP 8.1.0 RC 5 veröffentlicht, und die nächste Version wird der sechste und letzte Release Candidate (RC 6) sein, der in naher Zukunft veröffentlicht wird. Lassen Sie mich Ihnen die 8 wichtigen neuen Änderungen in PHP8.1 vorstellen, werfen wir zunächst einen Blick darauf! Neu in Initialisierern)

enum Status
{
    case draft;
    case published;
    case archived;
    
    public function color(): string
    {
        return match($this) 
        {
            Status::draft => 'grey',   
            Status::published => 'green',   
            Status::archived => 'red',   
        };
    }
}
4、Fasern, auch bekannt als „grüne Fäden“

class PostData
{
    public function __construct(
        public readonly string $title,
        public readonly string $author,
        public readonly string $body,
        public readonly DateTimeImmutable $createdAt,
        public readonly PostState $state,
    ) {}
}
5、Array-Entpacken unterstützt auch String-Schlüssel (Array-Entpacken unterstützt auch String-Schlüssel)

class PostStateMachine
{
    public function __construct(
        private State $state = new Draft(),
    ) {
    }
}
6,

Erstklassige Callables

$fiber = new Fiber(function (): void {
    $valueAfterResuming = Fiber::suspend('after suspending');
    
    // … 
});
 
$valueAfterSuspending = $fiber->start();
 
$fiber->resume('after resuming');
7,

Reine Kreuzungstypen (Reine Kreuzungstypen)

$array1 = ["a" => 1];
$array2 = ["b" => 2];
$array = ["a" => 0, ...$array1, ...$array2];
var_dump($array); // ["a" => 1, "b" => 2]
8,

Die neue Funktion array_is_list

function foo(int $a, int $b) { /* … */ }
$foo = foo(...);
$foo(a: 1, b: 2);
Dieser Artikel ist übersetzt, Originaladresse: https://stitcher.io/blog/php-81-in-8-code-blocks

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn