在Yii中有和没有函数的$ model定义有什么区别

时间:2014-01-01 17:40:46

标签: yii yii-components

在Yii中 $ model = new Users和$ model = new Users()之间有什么区别?

1 个答案:

答案 0 :(得分:5)

基本上两个陈述之间没有区别。您可以使用任何语句来创建对象。 当您想要传递参数以初始化构造函数时,差异将起作用。例如:- 让我们考虑声明场景的情况。 为此,你将使用

$model= new User('login');

此语句将$ model对象与方案调用'login'绑定,然后您可以将其用于验证目的。
正如您所见,因为在()的情况下您没有使用$model = new Users;,因此您无法在此声明中创建方案。

这样做并不意味着你现在永远不能创建一个场景。
要使用$model = new Users;创建场景,你需要再写一行,即

$model->scenario='login';

因此,以上所有$model= new User('login');等于

$model = new Users;
$model->scenario='login';

结论: - 没有区别。直到您不想传递参数为止,两者都是相同的。