Основные нововведения PHP 5.5.0:
- добавлена система кэширования и оптимизации байткода Zend OPcache;
- добавлен новый API для хэширования паролей:
, в качестве аргумента для внедрения названо безалаберное отношение разработчиков к паролям;
$hash = password_hash($password, PASSWORD_DEFAULT); password_verify($password, $hash)"
- поддержка сопрограмм (coroutine) и генераторов (generator), предоставляющих простой и не требующий создания шаблонов способ реализации итераторов:
<?php function gen_one_to_three() { for ($i = 1; $i <= 3; $i++) { yield $i; } } $generator = gen_one_to_three(); foreach ($generator as $value) { echo "$value\n"; } ?>
- поддержка ключевого слова 'finally', расширяющего возможности блоков исключений try/catch и выполняемого после завершения выполнения блока try, что гарантирует, что заданный в секции finally код будет выполнен в последнюю очередь после всех остальных обработчиков исключений:
- поддержка указания list() внутри блока foreach ():
foreach ($array as list($a, $b)){ }
- empty() и isset() могут работать над результатом функции и произвольными выражениями:
empty(xyz());
- добавлен метод Generator::throw();
- поддержка системы трассировки Systemtap на платформе Linux;
- сокращено число обращений к памяти на 8% за счёт оптимизации доступа к временным и компилированным переменным на уровне VM.