HHVM Улучшает Вывод Типов


Появилась новая версия Hip Hop Virtual Machine, виртуальной машины с открытым исходным кодом, предназначенной для выполнения программ, написанных на Hack и PHP.  HHVM изначально был разработан в Facebook, чтобы обеспечить способ преобразования PHP-скрипта в C++, чтобы его можно было скомпилировать и запустить на веб-серверах.

HHVM использует компиляцию JIT (JIT), чтобы сочетать хорошую производительность с гибкой средой разработки. HHVM поддерживает Hack, PHP 5 и основные функции PHP 7.

Этот релиз важен, так как это последний релиз, в котором основное внимание уделяется PHP 5. Разработчики Facebook заявили в сентябре, что HHVM не будет разрабатываться для PHP 7. Их рассуждения были таковы::

“команда HHVM считает, что у нас есть четкий путь к тому, чтобы сделать Hack фантастическим языком для веб-разработки, не связанным с его происхождением PHP. Мы окажем себе и нашим пользователям медвежью услугу, позиционируя HHVM как необычную, менее хорошо документированную и менее совместимую среду выполнения PHP7.”

Исходя из этого, в то время как они ожидают, что Hack и PHP7 сохранят значительное перекрытие в настоящее время, и многие пользователи могут добиться успеха, используя время выполнения взаимозаменяемо в краткосрочной перспективе, команда не намерена, чтобы HHVM была средой выполнения для разработчиков с чистым кодом PHP7, которые используют более поздние дополнения PHP. В дальнейшем разработчики Facebook рекомендуют разработчикам перейти на Hack или PHP7.

Hack-это развитие Facebook от HHVM. Hack-это язык программирования для HHVM, который является статически типизированным.  Hack используется в Facebook достаточно долго, чтобы вся кодовая база была перенесена на него, и существует версия с открытым исходным кодом в комплекте с HHVM. Есть также некоторые инструменты, включенные для облегчения преобразования.

В практическом плане для этого выпуска HHVM, 3.24, улучшения начинаются с лучшей обработки кода взлома. Аргументы ссылки теперь должны быть отмечены на сайте вызова, а не только в объявлении функции. Команда расширила HHAST для автоматизации миграции.

Добавлена поддержка “использования” блоков в качестве альтернативы деструкторам. Блоки ” Использование” обеспечивают механизм ограничения объекта определенной областью, вызывая код при выходе из области, без использования деструкторов.

Вывод типов и проверка типов для лямбд – это еще одна область, которая была улучшена.

XHP-это еще одна область, которая получила улучшения. Был добавлен оператор распространения атрибутов XHP, и разработчики улучшили типизацию атрибутов XHP и дочерних элементов.

Другими улучшениями являются более четкие сообщения об ошибках и улучшенная обработка нескольких отладчиков (например, hphpd + xdebug).


Добавить комментарий