5

私はミドルマンと一緒に私たちを導いている仲間と一緒にプロジェクトに参加してきました。私たちはHAMLとSASSでコーディングしており、彼は明らかにRubyDevです。PHPに相当するタイプがあるかどうか知りたいですか?私は最終的にチームを率いるつもりであり、RubyよりもPHPの方がはるかに快適です。

レイアウトファイル(Zendのレイアウトファイルなど)が欲しい... 1つのコマンドで、すべてのソースファイルをPHPから静的HTMLに変換し、それらの静的ファイルを「ビルド」フォルダーに配置します。クライアントに渡すことができます。

これを実現するためのクールなことを知っている人はいますか?本当にありがとう!

4

3 に答える 3

4

私が取り組んでいるプロジェクトwww.findbigmail.comは、最初は完全にPHPで記述されていて、次に別のプロジェクトでRuby / Railsの作業を行ったところ、PHPに戻るのは大変でした。HAMLSCSS 、および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.scssmain-2348jlk23489kdj.css

私たちのエンジニアリングパフォーマンスも大幅に向上しています。PHPコードに構文エラーが発生することを恐れて、UIコードに触れることを躊躇しなくなりました。そして、悲しみを引き起こすような不一致のHTMLタグはもうありません。他のPHP開発者は、Ruby / Railsから派生したツールチェーンに精通していませんでしたが、すぐに習熟しました(ただし、彼はロックスター開発者なので、それほど驚くことではありません!)

間もなくi18nがサポートされます。そのほとんどはすでにMMにあり、うまくいけばJavascriptはreal-soon-nowをサポートします。

また、PHPが追加されたHAMLからページを生成する方法についても説明しました。おそらく非常に単純であると判断しました。たとえば、HAMLパイプラインに「:php」タグを追加し、必要に応じて.phpパーシャルを使用します。しかし、Javascriptと既存のPHPコードを「エンジンAPI」としてラップすることの間で、コードベースをきちんと分離しておくことができたことがわかりました。

これがお役に立てば幸いです。詳細を説明させていただきます。

于 2012-02-18T03:34:24.943 に答える
2

PHP用にPiecrustと呼ばれるものがあります。

バンドルされたコーヒースクリプト、サスなどにMiddlemanを選択することになりましたが、Piecrustはよくできています。

http://bolt80.com/piecrust/

于 2013-01-08T13:34:45.820 に答える
0

PHPは、PHPコードから静的HTMLを非常に簡単にレンダリングできます。

PHPページを静的HTMLページに変換する最も簡単な方法

動的PHPページからHTML静的ページを生成する

PHP-静的HTMLファイルをプログラムで焼き出す方法は?

Twigのような既存のテンプレートシステムに何かを接続するか、PHP Markdownを使用して、Middlemanが行っていることを多かれ少なかれ模倣し、ソースファイルから静的HTMLページを作成することができます。

編集:Hari KTが前述したように、http://www.phrozn.info/en/はまさにこれを行います。

于 2012-01-23T00:18:16.180 に答える