Pull to refresh

Вышел финальный релиз PHP 5.5.0

Reading time2 min
Views59K
Вчера команда разработки PHP объявила об официальном выходе PHP 5.5.0!

Предыдущий мажорный релиз 5.4 был выпущен чуть больше года назад (1 марта 2012 года), а 5.3 аж в 2009 году (30 июня) — легко заметить, что разработка PHP наращивает темп!

Кратко о новых возможностях можно прочитать в посте на официальном сайте.

Тем кому интересно больше подробностей и на русском прошу под кат.


Новые ключевые возможности
  • Генераторы и корутины (generators and coroutines): документация и статья на хабре
  • Ключевое слово finally: документация и статья на хабре
  • Password Hashing API — правильный способ хешировать пароли из коробки: документация и статья на хабре
  • array/string dereferencing, например, можно получить элемент массива сразу момент его объявления echo [1, 2, 3][0];, аналогично со строками echo 'PHP'[0];
  • Теперь можно получить имя класса используя ключевое слово ::class
    namespace TestNS;
    class ClassName {
    }
      
    echo ClassName::class; //выводит TestNS\ClassName
    

  • empty() можно применять к результатам функций или выражений без необходимости сохранять этот результат в отдельную переменную
  • foreach теперь может работать с ключами не скалярного типа. В обычных PHP массивах таких ключей быть не может, но если вы используете foreach для обхода по собственно написанному итератору, то теперь вы можете возвращать любой тип в Iterator::key()
  • Так же в foreach появилась возможность использовать list(), например:
    $array = [
        [1, 2],
        [3, 4],
    ];
    
    foreach ($array as list($a, $b)) {
        echo "A: $a; B: $b\n";
    }
    

  • Zend Optimiser+ был включён в состав дистрибутива как расширение OPcache extension. Впрочем, это расширение было доступно и раньше для PHP 5.2, 5.3 и 5.4 для ручной установки.
  • Обновлена библиотека GD, в частности появилась поддержа WebP


Изменения совместимости
  • PHP logo и GUIDs были удалены :(
  • Удалена поддержка Windows XP и 2003
  • Регистронезависмые функции (case insensitive) теперь работают вне зависимости от локали а используют стандартные правила ASCII


Ссылки:
Tags:
Hubs:
Total votes 88: ↑75 and ↓13+62
Comments177

Articles