The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз PHP 5.5.0"
Отправлено opennews, 21-Июн-13 09:18 
Спустя год и три месяца с момента выхода прошлой ветки PHP представлен (http://news.php.net/php.announce/97) новый значительный релиз языка программирования PHP 5.5.0 (http://php.net/). В версии PHP 5.5.0 добавлены новые языковые конструкции, обеспечена поддержка сопрограмм и генераторов, удалены устаревшие возможности и интегрирован Zend Optimizer+ (https://github.com/zend-dev/ZendOptimizerPlus/) (Zend OPcache).


Основные особенности (http://www.php.net/migration55) PHP 5.5.0:

- В состав включена система кэширования и оптимизации байткода Zend Optimizer+ (https://github.com/zend-dev/ZendOptimizerPlus/), ранее поставляемая в составе проприетарного пакета Zend Server, но недавно переведённая (https://www.opennet.ru/opennews/art.shtml?num=36115) компанией Zend Technologies в разряд свободных проектов. Zend Optimizer+ предоставляет средства для ускорения выполнения скриптов на языке PHP за счёт использования техники кэширования опкода и применения дополнительных оптимизаций. Предкомпилированный код скриптов кэшируется в разделяемой памяти, что позволяет избежать выполнения стадий чтения с диска, разбора и компиляции исходного кода скриптов при их повторном запуске.

Кроме того, Zend Optimizer+ включает дополнительные методы оптимизации при генерации байткода, что позволяет достичь ускорения и за счёт более быстрого выполнения байткода. По сравнению с конкурирующей системой APC, Zend Optimizer+   выигрывает по производительности в среднем на 5-20%, обеспечивает лучшую совместимость с различными ветками и возможностями языка PHP, а также содержит средства для выявления повреждения данных (например, из-за некорректно написанной PHP-функции на языке C).

- Добавлен (https://wiki.php.net/rfc/password_hash) новый API для хэширования паролей, предоставляющий застрахованные от ошибок разработчиков и более простые в использовании высокоуровневые функции для генерации и проверки валидности паролей по хэшам. Основное отличие нового API в том, что он берёт на себя генерацию надёжных хэшей, скрывая от разработчика операции ручного указания salt-а и выбора алгоритма хэширования (по умолчанию используется Bcrypt). Создание хэша сведено к выполнению "$hash = password_hash($password, PASSWORD_DEFAULT);", а проверка к вызову "password_verify($password, $hash)". В качестве причины внедрения нового API называется безалаберное отношение многих разработчиков к генерации salt-ов и повсеместный выбор нестойких к перебору алгоритмов хэширования;


-  Поддержка сопрограмм (coroutine) и генераторов (https://wiki.php.net/rfc/generators) (generator), предоставляющих простой и  не требующий создания шаблонов способ реализации итераторов;

-  Поддержка (https://wiki.php.net/rfc/finally) ключевого слова "finally", расширяющего возможности блоков исключений try/catch и выполняемого после завершения выполнения блока try, что гарантирует, что заданный в секции finally код будет выполнен в последнюю очередь после всех остальных обработчиков исключений;

-  Поддержка (https://wiki.php.net/rfc/foreachlist) указания list() внутри блока foreach (), что позволяет организовать не требующий создания отдельных временных переменных перебор масивов;

-  Возможность разыменования констант для строк и массивов;

-  Улучшение модуля ext/intl со средствами интернационализации;


-  Возможность (https://wiki.php.net/rfc/empty_isset_exprs) использования empty() и isset() над результатом работы функции и произвольными выражениями (например, empty(foo()));

-  Прекращение поддержки Windows XP и Windows 2003.

-  Прекращение поддержки устаревших функций: php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
    zend_logo_guid();

-  Добавлен метод Generator::throw();

-  Реализована серия новых функций в расширении cURL;

-  Добавлена поддержка атрибута Max-Age в setcookie();

-  Поддержка системы трассировки Systemtap на платформе Linux;

-  Оптимизация доступа к временным и компилированным переменным на уровне VM, что позволило сократить число обращений к памяти на 8%;

-  Расширение  ext/mysql объявлено устаревшим, вместо него следует использовать MySQLi или PDO_MySQL.

-  Добавлена опция php.ini для изменения пути к временной директории PHP;

-  Добавлены функции mysqli_begin_transaction()/mysqli::begin_transaction();

-   Реализованы все опции mysqli_commit()/mysqli_rollback(), которые могут быть использованы с START TRANSACTION, COMMIT и ROLLBACK в MySQL 5.6;

-  Добавлены функции-врапперы recvmsg() и sendmsg() для ext/sockets;


-  Добавлена функций array_column (https://wiki.php.net/rfc/array_column), которая возвращает запрошенный столбец из многомерного массива;

-  Добавлена возможность (https://wiki.php.net/rfc/foreach-non-scalar-keys) использования нескалярных итераторов в качестве ключа в цикле foreach (например, "foreach ($iter as $k => $v)");

-  Добавлена поддержка (https://wiki.php.net/rfc/cli_process_title) изменения названия процесса через CLI/CLI-Server SAPI функцию cli_set_process_title($title).

URL: http://news.php.net/php.announce/97
Новость: https://www.opennet.ru/opennews/art.shtml?num=37239

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру