我的框架说明文档 2016-04-06
说明文档
[更新: 2016-04-06 AM]
一、模型 (Model)
1.封装写法
$this->select = array(
"field" => "username, password",
"where" => "uid = 1",
"order" => "createtime DESC",
"limit" => "1, 4"
);
$result = $this->fetch($this);
var_dump($result);
2.绑定参数写法
$query = "SELECT * FROM user WHERE uid = ?";
$param = array('s', 1);
$result = $this->db->find($query, $param);
var_dump($result);
3.原生SQL写法
$query = "SELECT * FROM user WHERE uid = 1";
$this->db->single($query);
$query = "SELECT * FROM user WHERE uid = 1";
$this->db->more($query);
4.请求序列化 (模型内)
$this->serialize($this);
$result = $this->insert($this);
5.自动验证
规则名称 | 说明 | 验证条件 |
---|---|---|
require | 必填项验证 | |
unique | 唯一性验证 | |
number | 数字验证 | |
邮箱验证 | ||
phone | 手机号验证 | |
regex | 正则验证 | |
length | 长度验证 | |
equal | 相等验证 |
示例
// 字段名称、验证规则、错误提示、验证条件[length 、equal必填]
$validate = array(
array('username', 'unique', '该账号已经存在'),
array('username', 'require', '用户名不能为空'),
array('username', 'length', '用户名长度必须8-16位数', '8, 16'),
array('password', 'require', '密码不能为空'),
array('email', 'email', '邮箱格式不正确'),
array('phone', 'phone', '手机号格式不正确'),
array('number', 'number', '输入的不是纯数字'),
array('equal', 'equal', '两次密码不一致', Request::post('password'))
);
// 验证通过返回true,失败返回数组
$vail = $this->validate($validate);
二、控制器 (Controller)
1.控制对请求参数的判断,并执行回调函数
// GET
$this->request('get', function() {
echo "request method get";
});
// POST
$this->request('post', function() {
echo "request method post";
});
2.页面重定向
$this->redirect('home/index/page');
3.请求序列化 (控制器内)
// 实例化一个模型
$user = new account\User();
// 请求序列化
$user->serialize($user);
// 执行方法
$user->prefect($user);
4.获取GET/POST请求数据
// GET
Request::get('key');
// POST
Request::post('key');
5.其他Request方法
// 获取当前服务器url
Request::url();
// 获取PATH_INFO参数
Request::param(2);
6.向视图传递变量及加载视图
$this->make('result', $result);
二、视图 (View)
1.输出程序级别错误 error 方法
// 直接给error传递错误信息即可
View::error('控制器加载出错');
2.操作成功界面 success 方法
// 参数一:提示信息
// 参数二:跳转链接(可以给完整的绝对路径)
// 参数三:跳转提示
View::success('恭喜,数据提交成功!', 'home/index/index', '返回首页');
2.操作失败界面 failed 方法
// 参数一:提示信息
// 参数二:跳转链接(可以给完整的绝对路径)
// 参数三:跳转提示
View::failed('抱歉,数据提交失败!', 'home/index/index', '返回首页');