Die neue PHP-Version führt u.a. Property Hooks, asymmetrische Sichtbarkeit für Klasseneigenschaften und eine neue HTML5-DOM-API ein.
Mit Property Hooks lassen sich get– und set-Logik direkt an der Property-Deklaration definieren (ähnlich wie bei C#), statt wie bisher über separate getFoo()/setFoo()-Methoden oder die eher unhandlichen Magic Methods __get/__set. Dies verbessert die Flexibilität und Lesbarkeit des Codes erheblich.
Vor den Property Hooks sah die get- und set-Logik so aus:
negative) {
return $this->value * -1;
}
return $this->value;
}
public function setValue(int $value)
{
$this->value = abs($value);
$this->negative = $value < 0;
}
}
$example = new Intxample();
$example->setValue(-5);
print $example->getValue(); // Output: -5
Im Vergleich dazu die neue Syntax:
negative) {
return $this->value * -1;
}
return $this->value;
}
set(int $value) {
$this->value = abs($value);
$this->negative = $value < 0;
}
}
}
$example = new Intxample();
$example->value = -5;
print $example->value; // Output: -5
Ob dies wirklich einen so großen Vorteil für Entwickler bringt, sei mal dahingestellt. Aus meiner Sicht macht es den Variablenblock am Anfang einer Klasse viel unübersichtlicher. Ist wohl Geschmackssache.