私が取り組んでいるプロジェクトwww.findbigmail.comは、最初は完全にPHPで記述されていて、次に別のプロジェクトでRuby / Railsの作業を行ったところ、PHPに戻るのは大変でした。HAML、SCSS 、およびCSSやJSのような他の素晴らしいものを使用してスプライトを構築した後、PHPに戻って、HTMLが埋め込まれたPHPファイルなどで再度作業するのは苦痛でした。
それで、純粋な怠惰さに駆り立てられて、私は周りを見回して、MiddleManApp(MM)を見つけました-途中で数回のサイドトリップの後。
これで、MMによって構築されたほとんど静的なhtmlサイトと、HTMLページにPOSTされてからリダイレクトされるいくつかのPHPファイルが非常に強力に分離されました。より動的な動作が必要な場合は、ページにJavaScriptを追加し、既存のコードの周りにPHPAPIラッパーを呼び出させます。
私たちのサイトのパフォーマンスは大幅に向上し(doh、現在はすべて静的なhtml)、次のMiddleManバージョンがRails 3.1アセットパイプラインから継承された改善されたキャッシュバスティング機能を備えたときに、さらにジャンプする準備ができています。たとえば、ソーススクリプト(それ自体は、などのmain.css
サブscssファイルで構成されています)で参照でき、-への参照を使用して構築されます。これにより、サーバーを1年間キャッシュするように設定できます。さらに多くのファイルをCDNにデプロイします。_index.scss
_pricing.scss
main-2348jlk23489kdj.css
私たちのエンジニアリングパフォーマンスも大幅に向上しています。PHPコードに構文エラーが発生することを恐れて、UIコードに触れることを躊躇しなくなりました。そして、悲しみを引き起こすような不一致のHTMLタグはもうありません。他のPHP開発者は、Ruby / Railsから派生したツールチェーンに精通していませんでしたが、すぐに習熟しました(ただし、彼はロックスター開発者なので、それほど驚くことではありません!)
間もなくi18nがサポートされます。そのほとんどはすでにMMにあり、うまくいけばJavascriptはreal-soon-nowをサポートします。
また、PHPが追加されたHAMLからページを生成する方法についても説明しました。おそらく非常に単純であると判断しました。たとえば、HAMLパイプラインに「:php」タグを追加し、必要に応じて.phpパーシャルを使用します。しかし、Javascriptと既存のPHPコードを「エンジンAPI」としてラップすることの間で、コードベースをきちんと分離しておくことができたことがわかりました。
これがお役に立てば幸いです。詳細を説明させていただきます。