Codeigniter在控制器中定义变量与传递给模型

时间:2018-01-17 13:11:42

标签: php codeigniter codeigniter-3

我想知道从最佳实践的角度来看哪种方法更好:

选项1:

控制器:

$this->data['my_var'] = 'some value';
$response = $this->My_model->some_method();

型号:

function some_method()
{
    $var = $this->data['my_var'];
    //do stuff
} 

选项2:

控制器:

$this->data['my_var'] = 'some value';
$response = $this->My_model->some_method($this->data['my_var']);

型号:

function some_method($myVar)
{
    //do stuff with $myVar
} 

本质上,差异在于将变量作为参数传递,或者将变量定义为数据数组的一部分并在模型中访问它。

1 个答案:

答案 0 :(得分:0)

选项2最好

在选项1中,属性$data必须公开才能在模型中可见。如果模型也具有名为$data的属性,也可能是错误的来源。