Coisas novas do PHP 8
Forma condensado do switch/case
$foo = match($var) {
    ‹value 1› => Bar::myMethod1(),
    ‹value 2› => Bar::myMethod2(),
};
Ao chamar uma função, você pode passar os nomes dos argumentos, assim, você pode até mesmo mudar a ordem deles
Quando usar:
<?php
namespace App\Model;
class MyValueObject
{
protected readonly string $foo;
    public function __construct(string $foo)
    {
        $this->foo = $foo; // First assignment, all good
        // Any further assignment of $this->foo will result
          in a fatal error
    }
}
Colocando um argumento/atributo entre #[] você impede que ele seja mostrado ao dar um vr_dump ou print_r
<?php
namespace App\Controller;
class SecurityController
{
    public function authenticate(string $username,
      #[SensitiveParameter] string $password)
    {
        // In case of any exception occurring or var_dump
          being called in here, the value of $password will
          be hidden in the different outputs
    }
}
O PHP tem evoluído bastante não pode mais ser considerado uma linguagem morta, só as suas versões anteriores
Fala de algumas novas features do PHP8. Não é interressante