是否为每个请求重新加载codeigniter中的基类


Do the base classes in codeigniter get reloaded for every request?

我知道库和基类&控制器在客户端发出请求时加载。

例如:

  1. 用户访问example.com
  2. index.php执行并加载类/库实例
  3. 分配给基本控制器的实例(超级类)
  4. 调用本地控制器(默认),然后使用可用资源加载视图

现在,因为HTTP是无状态的——这是否意味着,如果用户单击(比如)按钮,所有对象都必须重新加载?如果是,这会对性能产生什么影响?

谢谢!

这取决于按钮是否发送另一个HTTP请求。是的,每个自动加载的库都将随每个请求"重新加载"。这更像是PHP的事情(nodejs或基于java的服务器不是这样的)。

如果您在每次请求时都盲目地加载每个库——是的,这将对性能产生负面影响。如果您将它们加载到需要它们的控制器操作中,效果会好得多。如果遇到大问题,您可能会考虑在数据库或memcached(首选)中缓存一些对象。在那之前,做任何最快的事情。

优化您的时间是您在早期阶段所能获得的最佳性能提升。