在Yii中 $ model = new Users和$ model = new Users()之间有什么区别?
答案 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';
结论: - 没有区别。直到您不想传递参数为止,两者都是相同的。