Pull to refresh

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

PHP *
Вчера команда разработки 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
Views 58K
Comments Comments 177