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