そのため、ここでは自社開発のテンプレート システムを使用しています。これは軽量で、これまでのところうまく機能しています。
私たちが直面している壁は、テンプレートをループできるようにしたいということです。ユースケースは、検索結果のようなものです。私たちはこれを行う方法を考えようとしています。現在3つの方法を考えています。まず、ループ内にhtmlを保存し、それをループしてconcatを使用して変数をhtmlに入れるという古き良き方法です。私たちが思いついた 2 番目の方法は、ファイルを繰り返しインクルードすることでした。そして 3 番目の方法は、ファイルを一度インクルードし、出力バッファリングを使用してその出力をキャプチャし、それにテキスト echo " を追加してから、eval を使用することでした (私の上司は、それを行うための創造的な方法を考え出すことを望んでいました)。
そうですね、html をロジックから完全に分離できるので、繰り返しインクルードする方法を好みます。eval メソッドもこれを行いますが、もう少しハックなようです。これについていくつかの時間テストを行ったところ、html をループ内に配置する方法 (方法 1) が最も速く、その後に eval メソッドが続き、複数回を含むことが最後であることがわかりました。インクルードは、実際には eval メソッドよりも約 5 ~ 6 倍遅くなりました。(ファイルを含めたり、ファイルを 1000 回評価したり、それを 100 回実行したりして、それらを平均して結果を取得しました)。
複数のインクルードを高速化する方法はありますか? (include php を実行するたびに、ファイル システムに再度アクセスしているように見えます。)
または、この種のことを達成する方法を誰かが持っていますか?