yiishizhan
来源:互联网 发布:mac os x10.10.5迅雷 编辑:程序博客网 时间:2024/06/03 23:00
一. 利用Gii生成新模块admin
1.打开http://127.0.0.1/my_yii/web/index.php?r=gii下生成
2.在config文件夹下的web.php下添加
$config[‘modules’][‘admin’] = [
‘class’ => ‘app\modules\admin’,
];
二模型
1. 操作同名数据表,请继承ActiveRecord类。
2. 在模型类中定义如下 方法来操作fei_admin类
把shop_用%代替 不过前提必须要在config的db.php下添加tablePrefix属性
public static function tableName()
{
return "{{}}";
}
也可以这样写
public static function tableName()
{
return "{{%admin}}";
}
如下所示
return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=imooc_shop', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'tablePrefix'=>'fei_',];
3.对于数据表中不存的字段,但是也需要rules规则验证,则需要声明这个属性
例如 注册时候需要重复密码,以及是否记录密码
public $rememberMe=true; public $repassword;
- 对于model类里的rules方法
①直接return一个数组,数组的每个二维数组对于一条验证规则 具体的规则规范可以参考
http://www.yiichina.com/tutorial/635
(不过注意里面的match规则有误)
实际应为:[['sendmail_limit'],'match','pattern'=>'/^[1-9]d*|0$/','message'=>'必须为正整数'],
具体可以看评论
②验证规则也可以自己定义一个方法。 如下 定义的验证两次输入密码是否一致
public function rules() { return [ ['adminuser','required','message'=>'用户名不能为空','on'=>['login','seekPass','addadmin']], ['adminpass','**validPass**','on'=>['**login**']], ['rememberMe', 'boolean', 'on' => 'login'], ['repassword','compare','compareAttribute'=>'adminpass','message'=>'两次输入密码不一致','on'=>['resetPassword','addadmin']], ]; }
上述验证登录密码是否正确的方法valipass就是自己定义的。
valipass规则
public function validPass() { if(!$this->hasErrors()) { $user = $this->find()->where('adminuser = :adminuser and adminpass=:adminpass',[':adminuser' => $this->adminuser,':adminpass' => md5($this->adminpass)])->one(); if(is_null($user)) { $this->addError('adminpass','用户名或者密码错误'); } } }
后面的on表示哪些方法需要验证此项规则。
例如下面的login方法定义了
public function login($data) { $this->scenario = '**login**'; if ($this->load($data) && $this->validate()) { } }
二.下载SDK 配置app账号
三.接入项目
四 七牛
- yiishizhan
- CentOS7 安装Python3
- 蓝桥杯 Log大侠 题解
- 计算几何基础NYOJ——67三角形面积
- jsp本地打开
- 简易计算器---JAVA
- yiishizhan
- 5、Set数据类型
- System Verilog视频学习笔记(5)- Concurrency
- atom安装markdown-preview-enhanced和markdown-pdf插件
- 继续聊WPF——如何获取ListView中选中的项
- VS自带程序打包部署发布
- ButterKnife 8.0.1 @BindView 失败,nullpointerexception
- Windows使用Xshell访问虚拟机的Ubuntu
- 数据传输的常用格式JSON