Могу ли я использовать хип-хоп Facebook с фреймворками, такими как Zend Framework, cakephp, symfony - PullRequest
10 голосов
/ 03 февраля 2010

Вчера Facebook запустил HipHop , конвертер исходного кода из php в c ++. Набор функций и конструкций php более ограничен, чем в стандартном php.

Совместимы ли текущие популярные php-фреймворки (ZF, CakePHP, symfony) с HipHop? Если нет, то какие части этих фреймворков нельзя использовать?

Ответы [ 6 ]

9 голосов
/ 03 февраля 2010

Если я не ошибаюсь, HipHop еще не был выпущен - даже вики-страница , связанная с вчерашним объявлением Facebook , еще не запущена.

Итак, сейчас будет немного сложно ответить.


Я полагаю, все будет зависеть от:

  • Функции, используемые Frameworks - как уже было сказано здесь и там, такие вещи, как eval, не поддерживаются HipHop
  • Расширения PHP, используемые в Frameworks: только несколько из них были перенесены Facebook на HipHop.
  • В зависимости от фреймворков и ваших конкретных потребностей, возможно / возможно будут поддерживаться некоторые подмножества фреймворков, которые вы используете, даже если не все доступные компоненты ... Полагаю, время покажет, какие; -)
5 голосов
/ 03 февраля 2010

Поскольку по крайней мере ZF и Symfony используются для приложений уровня предприятия, вполне вероятно, что они будут работать с HipHop. Если не сейчас, то рано или поздно. Однако вопрос не в том, смогут ли они работать с этими платформами, а в том, как выглядит ваша поддерживающая ИТ-архитектура.

HipHop предназначен для масштабирования больших многосерверных сайтов с высоким трафиком, таких как Facebook. В вашем обычном веб-приложении вы, скорее всего, не получите никаких преимуществ. Просто продолжайте использовать memcache и APC.

См. Эти статьи по теме:

2 голосов
/ 23 февраля 2011

Поиск 'eval' дает много ложных срабатываний, поскольку вы получаете хиты для слова "оценивать" в комментариях или escapeValue, если поиск не чувствителен к регистру и т. Д.

Если вы ищете 'eval (' в ZF 1.11, вы найдете один раз в Zend / Serializer / Adapter / PhpCode.php в строке 59) в методе, который не сериализует хранимый код PHP. Этот метод не является частью архитектуры MVC, компонент db и фактически не используется где-либо еще в платформе (Zend_Serializer_Adapter_PhpCode не создается где-либо еще в базе кода).

Так что, если eval нарушает работу вашего приложения ZF-Hip Hop, не используйте Zend_Serializer_Adapter_PhpCode или eval в своем коде потребителя.

2 голосов
/ 03 февраля 2010

Я не буду повторять то, что уже было сказано, я просто добавлю, что как только HipHop будет выпущен, вы можете рассчитывать на сообщество open source, чтобы отправлять патчи для вашей любимой платформы для повышения совместимости с HipHop.

Кроме того, одним из хороших способов проверить, совместима ли ваша любимая инфраструктура, является запуск набора тестов с использованием HPHPi (тогда вы знаете, где сосредоточить свои усилия по исправлению;).

2 голосов
/ 03 февраля 2010

Хотя я уверен, что большинству из нас интересно, каким будет HipHop, я знаю, что он не заменит PHP - это очень нишевый продукт: если вы не используете большую серверную ферму, тогдапреимущества производительности по сравнению с затратами на техническое обслуживание просто не оправдывают это.

Возможно, для некоторых людей может быть интересной альтернативой использование закодированного PHP - но опять же это приводит к еще большим накладным расходам на обслуживание.Единственный сценарий с малым объемом, где скомпилированный PHP, похоже, имеет большой смысл, это для встраиваемых устройств (где существует программное обеспечение для поддержки аппаратного обеспечения, а не наоборот) и для установок с очень высоким уровнем безопасности (где не очень хорошая идеяиметь переводчика в наличии).

Пока рано говорить о том, какое программное обеспечение PHP будет с ним работать.Однако даже после того, как это установится, я бы хотел видеть твердое обязательство со стороны любого поставщика, что они будут явно поддерживать HipHop в будущем, прежде чем я переключусь.

C.

1 голос
/ 09 декабря 2010

Простой ответ: я не думаю, что это будет.

Только что видел это на странице хип-хопа: https://github.com/facebook/hiphop-php/wiki/

«Вы продолжаете писать код на более простом PHP, тогда HipHop выполняет ваш исходный код семантически эквивалентным образом и жертвует некоторыми редко используемыми функциями, такими как eval (), в обмен на повышение производительности.»

Произвел поиск 'eval' в ZF 1.9, и было более 100 случаев.

...