Laravel 4如何延迟加载控制器


Laravel 4 how to lazy load controllers?

最近我发现Laravel 4在每个请求上都包含了所有的控制器,不管它是否需要它,即使Composer在其自动加载中映射了整个控制器架构。我试图建立一个高流量的网站,我试图尽可能减少开销之前,开始做任何硬件扩展。你知道我如何"强制"laravel 4惰性加载类,如…当它们被给定请求的代码请求时。

我现在看到的方式是,当它解析路由时,它包含所有控制器,使所有它们的反射类来解析方法,以便在请求内存中映射它们。在我看来,这太过分了。一个简单的Hello World耗费了我5Mb的内存和15ms的页面生成时间。这对我来说太过分了。它是目前最被炒作的框架它被宣传为轻量级但是5mb/15ms在任何情况下都不是轻量级的:/

这里有一个很好的论证/解释:http://forums.laravel.io/viewtopic.php?id=8175

与Laravel 3相比,Laravel 4使用了更多与框架无关的包。

Laravel 3是非常轻量级的,也许你可以考虑使用v3来代替。它仍然在社区中被积极使用和支持。