我想知道从最佳实践的角度来看哪种方法更好:
选项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
}
本质上,差异在于将变量作为参数传递,或者将变量定义为数据数组的一部分并在模型中访问它。
答案 0 :(得分:0)
选项2最好
在选项1中,属性$data
必须公开才能在模型中可见。如果模型也具有名为$data
的属性,也可能是错误的来源。