自主封装的PHP ORM框架,面向对象的PDO数据库操作,API框架,支持Get/Post/Put/Delete多种请求方式。
代码示例:
<?php
use Models\User;
require '../application.php';
require '../loader-api.php';
//适合查询,如:获取用户列表或者单个用户信息
execute_request(HttpRequestMethod::Get, function() {
$action = request_action();
//判断是否存在
if ($action == 1) {
list($type, $value) = filter_request(array(
request_int('type', 1, 2, 3), //1.用户名 2.邮箱 3.手机号
request_string('value')));
$type_field_map = array(
1 => User::$field_username,
2 => User::$field_email,
3 => User::$field_phone
);
if ($type == 2 && !is_email($value) || $type == 3 && !is_mobilephone($value)) {
die_error(USER_ERROR, $type_field_map[$type]['name'] . '格式无效');
}
$user = new User();
$user->set_where_and($type_field_map[$type], SqlOperator::Equals, $value);
$result = $user->exists(create_pdo());
echo_result($result ? 1 : 0); //存在返回1,不存在返回0
}
//查询单条信息
if ($action == 2) {
list($userid) = filter_request(array(
request_userid()));
//查询单条数据
$user = new User($userid);
//set_query_fields可以指定查询字段,下面两种写法均可
//$user->set_query_fields('userid, username, email');
//$user->set_query_fields(array(User::$field_userid, User::$field_username, User::$field_email));
//还可设置where条件进行查询
//$user->set_where_and(User::$field_status, SqlOperator::Equals, 3);
//$user->set_where_and(User::$field_truename, SqlOperator::IsNullOrEmpty);
//$user->set_where_and(User::$field_age, SqlOperator::In, array(27, 29));
//$user->set_where_and(User::$field_regtime, SqlOperator::LessThan, '-6 month');
//创建数据库连接
$db = create_pdo();
$result = $user->load($db, $user);
//也可以用Model类的静态方法
//$result = Model::load_model($db, $user, $user);
if (!$result[0]) die_error(PDO_ERROR_CODE, '获取用户信息时数据库错误');
if (!$user) di