Вчера Facebook запустил HipHop, преобразователь исходного кода от php до C++. Набор функций php и конструкций более ограничен, чем в стандарте php.
Текущие популярные php платформы (ZF, CakePHP, симфония) совместимы с HipHop? В противном случае, какие части этих платформ не применимы?
Если я не ошибаюсь, HipHop еще не выпущен - даже вики-страница , на которую ссылается вчерашнее объявление Facebook , еще не открыта.
Так что сейчас будет немного сложно ответить.
Я полагаю, все будет зависеть от:
eval
, не поддерживаются HipHop Я не буду повторять то, что уже говорилось, я просто добавлю это, как только HiPhop будет выпущен, вы можете рассчитывать на сообщество Opensource, чтобы отправить патчи для ваших любимых рамх для повышенной совместимости с хипхом.
Кроме того, один хороший способ проверить, совместима ли ваша любимая структура или не будет запустить тестовый набор, используя HPHPI (вы тогда знаете, где концентрируйте свои усилия исправления;).
При использовании по крайней мере ZF и Symfony для приложений корпоративного уровня, шансы весьма высоки. хорошо, что они будут работать с HipHop. Если не сейчас, то рано или поздно. Однако вопрос не столько в том, могут ли они работать с этими фреймворками, сколько в том, как выглядит ваша поддерживающая ИТ-архитектура.
HipHop предназначен для масштабирования крупных многосерверных сайтов с высоким трафиком, таких как Facebook. В вашем обычном веб-приложении вы, скорее всего, не получите от него никакой пользы. Просто продолжайте использовать memcache и APC.
См. Эти статьи по теме:
$grade=87;
$grades=array("A"=>range(95,100),"B"=>range(80,94),"C"=>range(70,79),"Failed"=>range(0,69));
foreach($grades as $g=>$v){
if ( in_array($grade,$v) ){
print $g."\n";
}
}
-121--4180358- Я бы рекомендовал не использовать глобальные переменные, если это возможно. Используйте пространство имен и OOP для передачи аргументов объекту.
Этот код принадлежит в файле .js:
var MYLIBRARY = MYLIBRARY || (function(){
var _args = {}; // private
return {
init : function(Args) {
_args = Args;
// some other initialising
},
helloWorld : function() {
alert('Hello World! -' + _args[0]);
}
};
}());
И в вашем HTML-файле:
<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
MYLIBRARY.init(["somevalue", 1, "controlId"]);
MYLIBRARY.helloWorld();
</script>
-121--1831941- Хотя я уверен, что большинство из нас интересуются, каким будет HipHop, я знаю, что это не будет заменой PHP - это очень нишевый продукт: если вы не используете крупную ферму серверов, то преимущества производительности по сравнению с затратами на обслуживание просто не оправдали бы это.
Возможно, это может быть интересная альтернатива использованию кодированного PHP для некоторых людей - но опять же это приводит к еще большим накладным расходам на обслуживание. Единственный сценарий малого объема, где скомпилированный PHP, казалось бы, имеет большой смысл, это для встраиваемых устройств (где программное обеспечение существует для поддержки аппаратного обеспечения, а не наоборот) и для очень высоких установок безопасности (где его не очень хорошая идея иметь интерпретатор).
Еще очень рано говорить, какое PHP-программное обеспечение будет работать с ним. Однако даже после того, как они будут созданы, я хотел бы увидеть твердое обязательство от любого поставщика, что они будут явно поддерживать HipHop в будущем, прежде чем я переключусь.
C.