2.0的控制器的创建和action方法的添加和1.0的基本是一样的。但我发现他的widgets 的ActiveForm和1.1版本有些不一样的地方。
对于视图基本也是一样的,有render 和 renderPartial两个方法,后一个不会调入布局。也不会自动调入jquery组件,但在设置布局上有些不一样:
1.1是在components\Controller.php里面有个$layout 的变量,通过修改这个变量的值来改变布局的。
2.0里面是没有通过在父类Controller里面配置的,有个findLayoutFile的方法,这里分析了各种情况,默认是采用的main,当然也可以像1.1那样直接写在父类里面,如果有个别情况需要用自己的布局,可以在他的控制器里修改 $this->layout = ‘mine‘,这样就会调用layout目录下的mine.php布局。
首先是获取对象:
2.0版本里是这样的 $form = ActiveForm::begin(); 而且要使用 use yii\widgets\ActiveForm;
1.1版本里是 $form = $this->beginWidget(‘CActiveForm‘)。
我在2.0版本里的widgets目录下没有找到CActiveForm.php 只有ActiveForm.php 文件。
其次是获取 表单里的对象也不一样了,比如文本框,
2.0里面是这样的 $form->field($LoginForm, ‘name‘, [‘id‘=>‘name‘]);
1.1里面是这样的 $form->textField($loginForm, ‘name‘, array(‘id‘=>‘name‘));
看官方文档的时候发现不仅仅可以用ActiveForm可以创建form里面的元素,yii\helpers\Html 也可以创建,例如例子里就有个submit按钮就是用Html创建的。
Html::submitButton(‘提交‘, [‘class‘=>‘btn btn-primary‘]);
原文:http://www.cnblogs.com/wayne173/p/4369303.html