昨日、Facebook は、php から c++ へのソースコード コンバータであるHipHopをリリースしました。PHP の関数と構造のセットは、標準の PHP よりも制限されています。
現在人気のある PHP フレームワーク (ZF、CakePHP、symfony) は HipHop と互換性がありますか? そうでない場合、これらのフレームワークのどの部分が使用できませんか?
昨日、Facebook は、php から c++ へのソースコード コンバータであるHipHopをリリースしました。PHP の関数と構造のセットは、標準の PHP よりも制限されています。
現在人気のある PHP フレームワーク (ZF、CakePHP、symfony) は HipHop と互換性がありますか? そうでない場合、これらのフレームワークのどの部分が使用できませんか?
私が間違っていなければ、HipHopはまだリリースされていません-昨日のFacebookの発表からリンクされたwikiページでさえまだアップしていません。
ですから、今のところ、答えるのは少し難しいでしょう。
私はそれがすべてに依存すると思います:
eval
はHipHopではサポートされていません少なくとも ZF と Symfony がエンタープライズ レベルのアプリケーションに使用されているため、HipHop で実行される可能性はかなり高くなります。今でなくても、遅かれ早かれ。ただし、問題はこれらのフレームワークで実行できるかどうかではなく、サポートする IT アーキテクチャがどのように見えるかです。
HipHop は、Facebook のような大規模なマルチサーバーの高トラフィック サイトをスケーリングするためのものです。通常の Web アプリケーションでは、おそらく何の利点もありません。memcache と APC を引き続き使用してください。
次の関連記事を参照してください。
私たちのほとんどはHipHopがどうなるかについて興味があると確信していますが、PHPの代わりにはならないことはわかっています。これは非常にニッチな製品です。大規模なサーバーファームを実行している場合を除いて、パフォーマンスのメリットとメンテナンスコストはそれを正当化するものではありません。
おそらく、一部の人にとってはエンコードされたPHPを使用することは興味深い代替手段かもしれませんが、これもまた、さらに大きなメンテナンスオーバーヘッドをもたらします。コンパイルされたPHPが非常に理にかなっていると思われる唯一の少量のシナリオは、組み込みデバイス(ソフトウェアがハードウェアをサポートするために存在し、その逆ではない場合)および非常に高度なセキュリティインストール(通訳を利用できるようにする)。
どのPHPソフトウェアがそれで動作するかを言うことができるのはまだ早いです。しかし、それが確立された後でも、私が切り替える前に、将来的にHipHopを明示的にサポートする予定であるというサプライヤーからの確固たるコミットメントを見たいと思います。
C。
すでに述べたことは繰り返さないで、HipHop がリリースされたらすぐに、オープンソース コミュニティを利用して、お気に入りのフレームワークのパッチを提出し、HipHop との互換性を高めることができることを付け加えておきます。
また、お気に入りのフレームワークに互換性があるかどうかをテストする良い方法の 1 つは、HPHPi を使用してテスト スイートを起動することです (そうすれば、どこにパッチを当てる努力を集中すべきかがわかります ;)。
「eval」を検索すると、コメントで「評価」という単語がヒットしたり、検索で大文字と小文字が区別されない場合は escapeValue がヒットしたりするため、多くの誤検知が発生します。
ZF 1.11 で「eval(」を検索すると、Zend/Serializer/Adapter/PhpCode.php の 59 行目に、格納された PHP コードを非シリアル化するメソッドが見つかります。このメソッドは MVC の一部ではありません。アーキテクチャ、db コンポーネントであり、実際にはフレームワークの他の場所では使用されません (Zend_Serializer_Adapter_PhpCode は、コード ベースの他の場所ではインスタンス化されません)。
そのため、eval によって ZF-Hip Hop アプリが壊れる場合は、消費者コードで Zend_Serializer_Adapter_PhpCode または eval を使用しないでください。
簡単な答え:そうは思わない。
ヒップホップページでこれを見ただけです:https ://github.com/facebook/hiphop-php/wiki/
「より単純なPHPでコーディングを続けると、HipHopは意味的に同等の方法でソースコードを実行し、パフォーマンスの向上と引き換えに、eval()などのめったに使用されない機能を犠牲にします。」
ZF 1.9で「eval」を検索しましたが、100回以上発生しています。