在 CodeIgniter 中,加载不必要的库、帮助程序等是否存在性能劣势?


In CodeIgniter, is there a performance disadvantage to loading unecessary libraries, helpers etc?

在CodeIgniter中创建登录进程时,我__construct有这个。

 public function __construct() {
      parent::__construct();
      $this->load->library('session');
      $this->load->helper('form');
      $this->load->helper('url');
      $this->load->helper('html');
      $this->load->database();
      $this->load->library('form_validation');
      $this->load->model('login_model');
 }

index 方法包含处理登录所需的所有代码。

我将设置注销过程并决定不为注销创建另一个控制器,而是在登录控制器中创建一个处理注销并直接调用它的方法。

显然,__construct将在调用注销方法时运行,但是我是否应该在注销不需要的项目的__construct中放置if语句? 例如,不加载login_model。

此问题并非特定于此实例,而是针对我可能创建和重用以合并代码的所有其他控制器的整体性能。我不仅考虑速度,还考虑大量系统资源。

简短的回答是肯定的,加载任何东西都会降低性能,所以如果你不需要它,就不要加载它。

更长的答案是,您不太可能获得足够的流量,这将成为网站开发的主要因素,但是还有其他很好的理由不加载不必要的库 - 主要是减少混乱和混乱。当你在三个月后回到这个函数并看到正在加载什么时,你会记住哪些库是需要的,哪些是"以防万一",还是最终会花半个小时来追踪依赖关系?此时,您应该优先考虑易于开发而不是性能。

但是,无论哪种情况,都不要加载不需要的库。