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

时间:2015-06-12 12:20:10

标签: php performance codeigniter

在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。

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

1 个答案:

答案 0 :(得分:2)

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

更长的答案是,您不太可能获得足够的流量,这将成为网站开发的主要因素,但还有其他充分理由不加载不必要的库 - 主要是为了减少混乱和混乱。当你在三个月内回到这个功能并查看正在加载的内容时,你是否会记住需要哪些库以及哪些库“以防万一”,或者你最终会花半小时来追踪依赖项?此时,您应该优先考虑易于开发而不是性能。

但在任何一种情况下,都不要加载你不需要的库。