Forum ›
Programmazione & Dev ›
PHP 8.4 novita: property hooks, array_fi…
PHP 8.4 novita: property hooks, array_find e molto altro nel 2026
0
PHP 8.4 e stabile da novembre 2024 e porta cambiamenti significativi. Feature principali:
1. Property hooks: getter/setter inline nelle proprieta
2. Asymmetric visibility: proprieta public con set privato
3. New without parentheses: new Foo->method() senza ()
4. array_find(): funzione nativa finalmente
5. HTML5 DOMDocument: parsing HTML5 corretto
Esempio property hooks:
```php
class User {
public string $fullName {
get => "$this->firstName $this->lastName";
}
}
```
Voi avete gia migrato i vostri progetti?
0
Le property hooks sostituiscono elegantemente getter/setter:
```php
// Prima (PHP 8.3)
private string $_email;
public function getEmail(): string { return $this->_email; }
public function setEmail(string $v): void {
if (!filter_var($v, FILTER_VALIDATE_EMAIL)) throw new ValueError();
$this->_email = $v;
}
// Dopo (PHP 8.4)
public string $email {
set(string $value) {
if (!filter_var($value, FILTER_VALIDATE_EMAIL)) throw new ValueError();
$this->value = $value;
}
}
```
0
array_find() elimina pattern potenzialmente insicuri:
```php
// Prima (bug potenziale se array vuoto)
$found = array_filter($users, fn($u) => $u->id === $id);
$user = reset($found); // false se non trovato
// Dopo (null esplicito = piu sicuro)
$user = array_find($users, fn($u) => $u->id === $id);
```
Null e molto piu esplicito di false in questi contesti.
0
Migrazione pratica: PHP 8.4 e retrocompatibile con 8.3 per il 99% dei casi.
```bash
sudo apt install php8.4 php8.4-fpm php8.4-mysql php8.4-redis
sudo systemctl restart php8.4-fpm
```
E aggiorna composer.json:
```json
{"require": {"php": ">=8.4"}}
```