PHPをネイティブEXEまたはそのようなものにコンパイルしたくはありません。コンパイル/キャッシュのみ(どちらの単語も私の意味を反映していません)フレームワークロジック自体
コンパイルされたPHPフレームワークのようなものはありますか?
私が言いたいのは、コハナを例に取ってみることです。拡張可能、オーバーライド可能、楽しいなどです。しかし、1ページを表示するために200個のファイルをロードすることになります。
私が一番いいと思うのは、あなたが持っているかどうかですController_Admin extends Controller_Admin_Template extends Controller_Template extends Kohana_Controller_Template extends Controller extends Kohana_Controller
。これは必要ありません...メソッド本体をコピーして貼り付けるだけ$parent->whatever()
で、1つの素敵な、より小さく、より高速なファイルになります。
ダウンロードされたアセットを最小限に抑えるために、JSとCSSではすでにそれを行っています。なぜフレームワーク全体ではないのですか?:D
また、コンパイル可能なORMを探しています。コハナORMは非常に...遅い...それは魔法の方法を使用し、テーブルをロードし、一般的に操作するのは楽しいですが、サーバーの...回路に苦痛を与えます。:P
本番サーバーでORM::factory('test')->compiled()->where('bla','=','1)->execute();
コンパイルできるとしたら、それはすばらしいことです。ORMC::factory('test','SELECT * FROM test WHERE bla=1')->execute();
これはORM以外の多くのものにも当てはまりますが、ORMには大きなメリットがあります。
私の意見では、動的フレームワークのオーバーヘッドは、使いやすさによってスケールを傾けているようには見えません。これにより、私たちは容易さを失うことはなく、それを大幅にスピードアップします。;)
だから私の質問は:このようなものは存在しますか?そうでない場合、私のロジックに欠陥がありますか?
編集:
答えが失敗したので、私がやりたいことをもっとまっすぐに示します。
「コンパイル」なしの場合とまったく同じコードがある/application/と、SIMPLIFIEDできるすべての(たとえば)クエリがSIMPLIFIED(オブジェクトQuery_BuilderではなくSELECT blablablabla
など)である/compiled_app/があります。
また、1つのクラスに50個のファイルがあると、多くのうーん...オーバーライドベクトルが追加されますか?:Dこれは不要な100%保証のボトルネックパフォーマンスオーバーヘッドです。多分それは多くはありませんが、それは常にあります。そして、そうする必要はありません。