哪一个性能更好?在构造函数中加载控制器中使用的所有模型,或仅在所需的函数中加载模型?或者有什么区别?如果仅在大型控制器的某个功能中需要该模型,如果它在构造函数中加载,是否会影响性能?
class myController extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('loginmodel');
}
public function useLoginModel(){
$this->load->model('loginmodel');
$this->loginmodel->login();
}
}
答案 0 :(得分:3)
如果你只在那个功能中使用它,那么只在那里加载它可能更快。但这会降低可持续性。如果每次要在某个地方使用模型时,您都必须重新检查模型是否已加载。所以我会坚持在构造函数中加载所有东西(显然取决于模型的数量)。
有一个简单的优化规则:如果它不慢,不要优化它。你从上面的变化中获得的收益很少,但是在可持续性方面受到严重打击(或者像symfony所说的那样#34;开发人员体验")
答案 1 :(得分:-1)
您可以在配置文件夹中的autoload.php中添加它。
$autoload['model'] = array('loginmodel');
希望它有所帮助。