我不想将 PHP 编译为原生 EXES 或类似的东西,只编译/缓存(这两个词都不能反映我的意思)框架逻辑本身
有没有类似编译的 PHP 框架的东西?
我的意思是以小花为例。它是可扩展的、可覆盖的、有趣的等等。但它最终会加载 200 个文件以显示一页!
我认为最好的是如果你有Controller_Admin extends Controller_Admin_Template extends Controller_Template extends Kohana_Controller_Template extends Controller extends Kohana_Controller
. 这不是必需的……如果我们只是将方法体复制粘贴到$parent->whatever()
它上面,最终会得到一个漂亮、更小、更快的文件。
我们已经为 JS 和 CSS 做到了,以最大限度地减少资源下载;为什么不是整个框架?:D
我也在寻找一个可编译的ORM。Kohana ORM 非常……慢……它使用魔法方法,加载表格,通常使用起来很有趣,但在服务器的电路中……很痛苦。:P
如果我们可以在生产服务器ORM::factory('test')->compiled()->where('bla','=','1)->execute();
中编译ORMC::factory('test','SELECT * FROM test WHERE bla=1')->execute();
它会很酷。这适用于除 ORM 之外的许多其他东西,但 ORM 会受益匪浅。
在我看来,动态框架的开销似乎并没有因为易用性而倾斜。有了这个,我们不会失去任何轻松并加快速度。;)
所以我的问题是:这样的事情存在吗?如果不是,我的逻辑是否有缺陷?
编辑:
由于答案失败,我会更直接地展示我想做的事情。
我们有一个 /application/ ,其中有与没有“编译”的完全相同的代码,还有一个 /compiled_app/ ,其中所有(例如)可以简化的查询都是简化的(不是对象 Query_Builder 而是SELECT blablablabla
等)。
同样,一个类有 50 个文件会增加很多 umm... 覆盖向量?:D 这是一个不必要的 100% 保证瓶颈性能开销。也许它并不多,但它总是在那里。它没有必要。