Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在控制器构造函数中加载不需要的模型是否会影响CodeIgniter 2中的性能?_Php_Codeigniter_Codeigniter 2 - Fatal编程技术网

Php 在控制器构造函数中加载不需要的模型是否会影响CodeIgniter 2中的性能?

Php 在控制器构造函数中加载不需要的模型是否会影响CodeIgniter 2中的性能?,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,哪一个性能更好?在构造函数中加载控制器中使用的所有模型,还是仅在所需函数中加载模型?还是有什么区别?如果模型只在大型控制器的一个函数中需要,那么在构造函数中加载该模型是否会影响性能 class myController extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('loginmodel');

哪一个性能更好?在构造函数中加载控制器中使用的所有模型,还是仅在所需函数中加载模型?还是有什么区别?如果模型只在大型控制器的一个函数中需要,那么在构造函数中加载该模型是否会影响性能

class myController extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('loginmodel');
    }

    public function useLoginModel(){
        $this->load->model('loginmodel');
        $this->loginmodel->login();
    }
}

如果您只在那个函数中使用它,那么只在那个函数中加载它可能会更快。但这降低了可维护性。每次在某处使用模型时,都必须重新检查模型是否已加载。因此,我会坚持在构造函数中加载所有内容(显然取决于模型的数量)


优化有一个简单的规则:如果它不慢,就不要优化它。您从上述更改中获益甚微,但在可维护性方面遇到了严重的问题(或者symfony称之为“开发人员体验”)

您可以将其添加到config文件夹中的autoload.php中

$autoload['model'] = array('loginmodel');

希望有帮助。

这与问题无关。如果您使用多个型号,则最好在各自的功能中加载,如果只有一个功能,则自动加载。但无论如何,差别会更小。