初学php的朋友们。都会想着找一个能够快速上手的框架来学习做项目。一般的话会选择thinkphp来尝试来尝试,这个框架的上手难度系数不大,能快速开发一款应用。适合小型的企业应用。因为是国人开发的,中文支持比较好。有比较全面的文档,官网社区也比较活跃。但是到了一定阶段基本就不满足使用thinkphp了,进而选择高性能的开发框架。yii 自带了丰富的功能,包括 mvc,dao/activerecord,i18n/l10n,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。这里我们php中文网就带你从头开始学习如何使用yii2框架创建表单。
首先,可以去我们php中文网在线观看 Yii2中文手册


下面就进入yii2框架创建表单正题了:
目录
表单的生成
表单中的方法
ActiveForm::begin()方法
ActiveForm::end()方法
getClientOptions()方法
其它方法:errorSummary、validate、validateMultiple
表单中的参数
表单form自身的属性
表单中各个项(field)输入框相关的属性
$fieldConfig
关于验证的属性
关于每个field容器样式的属性
ajax验证
前端js事件
表单中的其它属性
我们先看看Yii里面最简单的登录表单以及生成的html代码和界面,先有个直观的了解
'login-form']); ?> = $form->field($model, 'username') ?> = $form->field($model, 'password')->passwordInput() ?> = $form->field($model, 'rememberMe')->checkbox() ?>If you forgot your password you can = Html::a('reset it', ['site/request-password-reset']) ?>
= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
下面是生成的表单Html,我在里面标明了5部分。
1、表单的生成
在Yii中表单即ActiveForm也是Widget,在上面可以看到是由begin开始
'login-form']); ?>
中间为各个项的输入框,最后由end结尾
2、表单中的方法
在Widget中begin()方法会调用int方法
public function init()
在最后的end()方法会调用run方法
public function run()
1、ActiveForm::begin()方法
//这个是在执行 $form = ActiveForm::begin(['id' => 'login-form']); 中的begin方法的时候调用的
public function init()
{
//设置表单元素form的id
if (!isset($this->options['id'])) {
$this->options['id'] = $this->getId();
}
//设置表单中间的要生成各个field的所使用的类
if (!isset($this->fieldConfig['class'])) {
$this->fieldConfig['class'] = ActiveField::className();
}
//这个就是输出表单的开始标签
//如:









