Php 在codeigniter中加载模型的最佳方法是什么?

Php 在codeigniter中加载模型的最佳方法是什么?,php,codeigniter,Php,Codeigniter,我使用Codeigniter编写代码,我想在第一次打开页面时增加加载时间。实际上,当我编写代码时,我会像这样加载我的构造中的所有模型: public function __construct(){ parent::__construct(); $this->load->model('Fa_promo'); $this->load->model('Fa_project'); $this->load->model('Fa_inbox

我使用Codeigniter编写代码,我想在第一次打开页面时增加加载时间。实际上,当我编写代码时,我会像这样加载我的构造中的所有模型:

public function __construct(){
    parent::__construct();
    $this->load->model('Fa_promo');
    $this->load->model('Fa_project');
    $this->load->model('Fa_inbox');
    $this->load->model('Fa_quotes');
    $this->data['keywords']=$this->Configuration->get_keyword();            
    $this->data['about'] = $this->Fa_menu->get__content_from__slug('about');
    $this->data['menu']=$this->Fa_menu->list_menu_level1(); 
    $this->Configuration->update_hits();            
    }
我的问题是,如何以最好的方式加载模型以提高上述或类似的性能

public function __construct(){
  parent::__construct();                        
}
public function a(){
  $this->load->model('Fa_promo');
  $this->Fa_promo->load();
}
public function (){
  $this->load->model('Fa_project');
  $this->Fa_project->load();
}
感谢您的帮助:)

codeigniter说:您的模型通常会从控制器方法中加载和调用

第一种方法有一个很大的优势:您可以在所有控制器方法中重用它,而不必反复输入每个方法


关于性能:我认为这没有任何区别,模型中的函数可能会减慢速度

在每个函数中单独加载它们会更快,因为您可以限制加载模型的调用次数,但差异可能很小

如果您在构造函数中加载它们,那么您可以在控制器中的任何一点从一个加载中使用它们,这可能会稍微慢一点,但好处是它们已加载并准备就绪。不过,它可能会使用比单个给定函数所需的内存更多的内存

如果要保存用于加载模型的代码,始终可以在构造函数中执行以下操作:

$this->load->model(['Fa_promo', 'Fa_project', 'Fa_inbox', 'Fa_quotes]);

这将一次性加载所有模型。这并没有实时的好处,因为传递数组会导致加载程序为每个项调用自己,所以它与您当前拥有的相同

缓存整个视图或HTTP响应怎么样?第二个想法:你可以部分缓存模型,例如,使用。你最好优化你调用的方法,而不是担心你加载了多少模型,除非这些模型在它们的
\uu构造()中做了些什么
加载模型时,您没有执行任何代码,我认为除了内存使用之外,这不会有任何区别?