Новости IT, хостинга
Новость от 16.11.2014

Адрес в интернете:
https://news.hostdb.ru/index/show/id/9961

Facebook открыл код транслятора из языка Hack в PHP. Обновление PHP 5.6.3, 5.5.19 и 5.4.35


Компания Facebook опубликовала транслятор Hack Transpiler (h2tp), позволяющий автоматически преобразовать код на языке Hack в представление на обычном PHP. Язык программирования Hack обратно совместим с PHP и расширяет синтаксис PHP поддержкой статической типизации и ряда расширенных возможностей, заимствованных из других языков программирования, таких как обобщения (generics по образу C# и Java), null-значения, коллекции, Lambda-выражения, механизмы асинхронного программирования, составные shape-структуры и средства для переопределения имён типов. Код на языке Hack выполняется с использованием виртуальной машины HHVM (HipHop Virtual Machine).

Необходимость создания Hack Transpiler обусловлена тем, что в окружении Hack могут выполняться обычные PHP-скрипты, но не наоборот - код с расширенными конструкциями и типами Hack не может быть запущен с использованием интерпретатора PHP. Hack Transpiler даёт возможность преобразовать код на языке Hack в вид, совместимый с PHP, т.е. разработчики могут развивать свой продукт с учётом расширений Hack, но для окружений не поддерживающих Hack обеспечить его поставку в форме обычного PHP-проекта. Из-за потери данных о типах сгенерированный PHP-код будет не столь эффективен как Hack, но пригоден для работы в любых хостинг-окружениях, в которых имеется поддержка PHP. Пользователи которые имеют возможность установить HHVM смогут воспользоваться более эффективным вариантом приложения на языке Hack.

Дополнительно можно отметить доступность корректирующих выпусков языка программирования PHP - 5.5.19 и 5.6.3, в которых устранено 13 и 25 ошибок соответственно. В дополнении Fileinfo устранена уязвимость (CVE-2014-3710), которая может привести к переполнению буфера при получении информации о специально оформленных файлах в формате ELF. В дополнение curl добавлена поддержка констант CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1 и CURL_SSLVERSION_TLSv1_2. В pack() и unpack() реализованы 64-разрядные коды форматирования.

Дополнение: Вышел PHP 5.4.35, в котором устранены четыре проблемы, имеющие отношение к безопасности.


Распечатано с HostDB.ru.