Aucun billet publié dans cette catégorie pour le moment.
Gestion des cookies
J'utilise Google Analytics, Google Tag Manager et Microsoft Clarity pour améliorer votre expérience. Vous pouvez choisir les services que vous autorisez.
Asymmetric Visibility
Définir une visibilité différente pour la lecture et l'écriture.
PHP
class User
{
public function __construct(
public private(set) string $name
) {}
}
$u = new User('Pierre');
echo $u->name; // OK (public read)
$u->name = 'Paul'; // Erreur (private set)
Override Attribute
Sécuriser les surcharges de méthodes.
PHP
class CustomService extends BaseService
{
#[Override]
public function calculate(): int
{
return parent::calculate() * 2;
}
}
// Erreur fatale si la méthode n'existe pas dans le parent
JSON Validate
Valider du JSON sans le décoder (plus performant).
PHP
$json = '{"name": "Lecode", "status": "Green"}';
if (json_validate($json)) {
// Le JSON est valide
// On peut le décoder si nécessaire
$data = json_decode($json);
}
New Class Instance Method Call
Plus besoin de parenthèses superflues pour instancier et appeler une méthode directement.
PHP
// Avant PHP 8.4
(new Service())->process();
// PHP 8.4
new Service()->process();
// Chaining
new Builder()
->setOption('A')
->build();