Jeśli kogoś interesuje lista zmian to można znaleźć ją tutaj: https://github.com/php/php-src/blob/php-7.0.0alpha1/NEWS oraz https://github.com/php/php-src/blob/php-7.0...lpha1/UPGRADING
Można go oczywiście pobrać i przetestować już dziś, linki do downloadu: https://downloads.php.net/~ab/ oraz wersja dla Windows: http://windows.php.net/qa/, tam jednak żeby zaczęło działać trzeba mieć apache kompilowane VC14, czyli najnowszą jego wersje najlepiej. Oraz pobrać brakujący dll ponieważ nie został on umieszczony w paczce php: http://windows.php.net/downloads/snaps/ostc/69801/vc14/
Co nowego, skrócona lista:
- Zwiększona wydajność: PHP 7 jest nawet dwa razy szybciej niż PHP 5.6
- Spójne wsparcie 64-bit
- Wiele fatal errors stało się teraz wyjątki
- Usunięcie starych i nieobsługiwanych SAPI i rozszerzeń
- Operator null coalescing (? ?)
- Combined comparison Operator (<=>)
- Zwracanie zadeklarowanych typów
- Skalarne deklaracje typów
- Klasy anonimowe
Wersja ta na razie jest tylko testowa i nie powinna być używana do celów produkcyjnych.
http://www.dmiller.io/blog/2015/4/26/compa...ck-type-systems
Kilka przykładów:
Zwracanie zadeklarowanych typów i skalarne deklaracje typów
<?php function add(int $a, int $b): float { return $a + $b; }
<?php function add(int $a, int $b): int { return (string) $a + $b; }
<?php function add(int $a, int $b): string { return (string) $a + $b; }
Ale:
<?php }
Podobnie jeśli podamy zły typ php rozpozna, że coś jest nie tak i odpowiednio nas o tym poinformuje
Klasy anonimowe
$i = 1; public function __construct($i) { $this->i = $i; } }); //object(class@anonymous)#1 (1) { ["i"]=> int(1) }
null coalescing operator (? ?)
$x = NULL; $y = NULL; $z = 3;
Combined comparison Operator (<=>)