- SCALAR TYPE HINTS & RETURN TYPES (RFC)
<?php
function add(int $a, int $b): int {
re
turn $a + $b;
}
add(1, '2');
Z użyciem strict mode:
<?php
declare(strict_types=1); // musi być w 1 linii
function add(int $a, int $b): int {
return $a + $b;
}
add(1, '2');
// Catchable fatal error:
// Argument 2 passed to add()
// must be of the type integer, string given
- COMBINED COMPARISON OPERATOR, SPACESHIP operator (RFC)
<?php
// przed php 7
uasort($array, function($a, $b){
return ($a < $b) ? -1 : (($a > $b) ? 1 : 0);
});
// od php 7
uasort($array, function($a, $b){
return $a <=> $b;
});
- UNIFORM VARIABLE SYNTAX
(Ujednolicenie składni, wywołanie funkcji zaraz po jej zdefiniowaniu) (RFC)
// zagnieżdżenie wywoływania funkcji - funkcje wyższego rzędu
$apply = function ($fun) {
return function ($a) use ($fun) {
return $fun($a);
};
};
$add = function ($x) {
return function ($y) use ($x) {
return $x + $y;
};
};
echo $apply($add)(2)(3);
Brak komentarzy:
Prześlij komentarz