Yii2.0学习第16课:模型(Models)之标签的学习
1、运行我们的LNMP环境,并进入MySql系统,查看数据库信息:
2、登陆是一个输入信息,获取并验证信息合法性,然后创建会话的过程。我们先使用以下代码创建一个user数据表:
CREATE TABLE IF NOT EXISTS `hlong_user` (
`id` mediumint(8) unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, `username` char(25) NOT NULL,
`email` varchar(50) NOT NULL,
`password` char(8) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
请注意,我们加了表前缀。
3、使用INSERT INTO `hlong_user` (`username`,`email`,`password`) VALUES('xiaolong','xiaohelong22@163.com','123456');
为了简单起见,密码使用明文:
4、参考我们之前学习的使用Gii自动生成Model的方法,生成model文件,如图所示:
5、参考我们之前学习的使用Gii自动生成控制器的方法,生成LoginController.php,如图所示:
6、修改控制器LoginController.php如下所示:
public function actionIndex(){
$model = new \app\models\HlongUser;
return $this->render('index',['model'=>$model]);
}
修改视图views/login/index.php如下所示:
<?php
echo $model->getAttributeLabel('username');
echo $model->getAttributeLabel('password');
echo $model->getAttributeLabel('email');
?>
7、打开models\HlongUser.php文件,修改以下方法:
public function attributeLabels()
{
return [
'username' => 'This is username',
'email' => 'This is email',
];
}
然后继续访问login首页,查看效果:
8、联想到我们在视图层中经常使用的Form表单的标签信息,大多数情况下的做法是在视图页面写”死“,使用Yii2.0我们会发现可以通过Models的属性标签来统一内容,类似如下的地方: