De PHP-gemeenschap is erg enthousiast om deze nieuwste release te verwelkomen. Maar dat betekent niet dat php op dit moment heeft stilgestaan. In de tussentijd zijn er veel dingen bijgewerkt, maar PHP 7 is een volledig nieuwe release met een aantal geweldige functies.
De snelheid is de verbazingwekkende functie die PHP 7 in deze release brengt. De ontwikkelaars hebben heel hard gewerkt om de PHP-code te herformuleren om het geheugengebruik te verminderen en de prestaties te verhogen en ze zijn daar zeker in geslaagd. samen met deze is er een aantal andere functies die ik hieronder ga beschrijven.
Zoals we weten wordt PHP beschouwd als een zwak getypeerde taal. In essentie betekent dit dat PHP niet vereist dat u datatypes declareert. Variabelen hebben nog steeds datatypes die ermee geassocieerd zijn, maar u kunt radicale dingen doen zoals een string toevoegen aan een integer zonder dat dit tot een fout leidt. Typeverklaringen kunnen u helpen definiëren wat moet gebeuren zodat u de verwachte resultaten krijgt. Dit kan uw code ook leesbaarder maken. We zullen hieronder enkele specifieke voorbeelden bekijken
Scalar Type Hints
Met PHP 7 hebben we nu Scalar types toegevoegd. Specifiek: int, float, string, en bool.
Door het toevoegen van scalar type hints en het inschakelen van strenge eisen, hoopt men dat meer correcte en zelf-documenterende PHP programma’s kunnen worden geschreven. Het geeft u ook meer controle over uw code en kan de code gemakkelijker leesbaar maken.
hier is een voorbeeld met non strict
function total(float $a, float $b) {
return $a + $b;
}
output
total(2.8, "3.2");
// string "3.2" changed to float(3.2) no notice
//returns float(6)
output met waarschuwing
total(2, "1 week");
// int(2) changed to float(2.0) and string "1 week" changed to float(1.0) but you will get a "Notice: A non well formed numeric value encountered"
//returns float(3)
Als er een type-declaratie mismatch optreedt, wordt er een “Fatal Error” gegooid met strict stemming aan. Hier is een voorbeeld
declare(strict_types=1);function total(float $a, float $b) {
return $a + $b;
}total(2, "1 week");
// Fatal error: Uncaught TypeError: Argument 2 passed to total() must be of the type float, string giventotal(2.5, 1);
// int(1) change to float(1.0)
//returns float(3.5)
Zoals we zien wanneer we strict mood “on” gebruiken, wordt de waarschuwing Error, wat een zeer nuttige en gestructureerde manier is om de gewenste uitvoer van de codebase te begrijpen en te krijgen.
Return Type Declarations
PHP 7 ondersteunt ook Return Type Declarations die dezelfde types als argumenten ondersteunen. Om het return type te specificeren, voegen we een dubbele punt toe en dan het type vlak voor de opening.
function total(float $a, float $b) : float {}
Nieuwe Operators :
PHP 7 brengt ons ook een aantal nieuwe operators. De eerste die we gaan verkennen is de ruimteschip operator. De ruimteschip operator, of gecombineerde vergelijkingsoperator, is een leuke toevoeging aan de taal, als aanvulling op de groter-dan en kleiner-dan operatoren. like
$compare = 2 <=> 1
2 < 1? return -1
2 = 1? return 0
2 > 1? return 1
Null Coalesce Operator
Een andere nieuwe operator, de Null Coalesce Operator, is in feite de legendarische if-set-or. Hij zal de linker operand teruggeven als die niet NULL is, anders de rechter. zoals
$name = $firstName ?? "Guest";
Vóór 7.X was het zoals
if (!empty($firstName)) $name = $firstName;
else $name = "Guest";
Wat dit nog krachtiger maakt, is dat je deze kunt stapelen! Deze operatie controleert elk item van links naar rechts en als er een wordt gevonden die niet null is, wordt die waarde gebruikt. zoals
$name = $firstName ?? $username ?? $placeholder ?? "Guest";
Dit is leuk, nietwaar?
Als je klaar bent om met PHP7 te gaan spelen, gooi dan alle veranderingen in PHP 7. X