• PHP ORM(面向对象PDO数据库框架&API框架)

    自主封装的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) die_error(USER_ERROR, '不存在此用户'); echo_result($user->to_array()); } }); //适合新增数据操作 execute_request(HttpRequestMethod::Post, function() { list($username, $email) = filter_request(array( request_string('username'), request_email('email'))); //设置其他信息(假数据,仅供测试) $password = md5('888888'); $phone = '189' . str_shuffle('25688990'); $age = mt_rand(18, 30); $userInfo = array( 'password' => $password, 'phone' => $phone, 'age' => $age ); //新增数据 $user = new User(0, true); //第二个参数true表示实例化后赋初始值 $user->set_username($username); $user->set_email($email); //创建数据库连接 $db = create_pdo(); //开始事务 pdo_transaction($db, function($db) use($user, $userInfo) { $result = $user->insert($db); if (!$result[0]) throw new TransactionException(PDO_ERROR_CODE, '注册用户失败', $result); $user->reset(); // 不调用reset(),会更新所有字段 $user->set_password($userInfo['password']); $user->set_phone($userInfo['phone']); $user->set_age($userInfo['age']); $result = $user->update($db); if (!$result[0]) throw new TransactionException(PDO_ERROR_CODE, '更新用户失败', $result); }); echo_msg('注册成功'); //可以直接提交json,用下面方式接收 $newUser = request_object(); //$newUser = request_array(); }); //适合更新数据操作 execute_request(HttpRequestMethod::Put, function() { //可以直接提交json,用下面方式接收 $newUser = request_object(); //$newUser = request_array(); $user = new User(); $user->set_field_from_array($newUser); $result = $user->update($db); if (!$result[0]) die_error(USER_ERROR, '更新失败'); echo_msg('更新成功'); }); //适合删除操作 execute_request(HttpRequestMethod::Delete, function() { $userid = request_object_id(); //删除数据 $user = new User($userid); //还可设置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->delete($db); //也可以用Model类的静态方法 //$result = Model::delete_model($db, $user); if (!$result[0]) die_error(USER_ERROR, '删除用户数据时数据库错误'); echo_msg('删除成功'); });

    0
    429
    29KB
    2015-01-27
    47
  • 12306订票工具(查票,订票,功能齐全,支持多种订票方案)

    自己写的一个订票小工具,没有做完,查票订票可用

    0
    186
    108KB
    2013-02-05
    10
  • C#.Net2.0解析Json,精简版的Newtonsoft.Json.dll,JsonReader,JsonSerializer(Json.Net)

    基于Newtonsoft.Json精简的。.Net2.0的哦 仅保留了读取和解析json数据的相关类和方法(JsonReader,JsonSerializer),去除了写入json数据以及json和xml互相转换的部分以及其他不常用的类。 编译后dll仅20kb 也可以直接将类添加到项目中使用,非常方便 再次声明,只能读取和解析json数据哦 常用的调用方法: JsonReader reader = new JsonReader(new StringReader(jsonText)); JsonSerializer ser = new JsonSerializer(); var obj = ser.Deserialize(reader, typeof(List<NewsInfo>)); List<NewsInfo> newsList = obj as List<NewsInfo>;

    4
    865
    50KB
    2012-12-20
    49
  • 腾讯企业邮箱模拟登录C#,WinForm(请下载这个)

    腾讯企业邮箱模拟登录,C#代码调用加密JS,构造登录url 之前上传的那个缺少一个资源文件,在这里向下载过的朋友致歉,这个可以保证没有问题的

    4
    134
    64KB
    2012-12-20
    14
  • 腾讯企业邮箱模拟登录C#,WinForm

    腾讯企业邮箱模拟登录,C#代码调用加密JS,构造登录url

    3
    276
    33KB
    2012-12-18
    9
  • 腾讯企业邮箱登录加密RSA算法JS源码

    腾讯企业邮箱登录所使用的RSA加密算法,本人做模拟登录时整理。 可以用于安全性较高的网站登录密码加密 部分代码: var RSA = new RSAKey(); RSA.setPublic(PublicKey, "10001"); var Res = RSA.encrypt(originalStr + '\n' + ts + '\n'); var Result = hex2b64(Res);

    4
    633
    6KB
    2012-12-18
    31
  • Asp.Net验证码控件

    验证码多种实现方式 .

    0
    73
    151KB
    2012-11-22
    5
  • C#树形菜单控件asdfasdfasdf

    C#树形菜单控件as jd jkjalsfj kjklfjkaskj jkjdfk

    0
    40
    416KB
    2010-04-11
    0
  • C游戏开发实例-贪吃蛇

    C游戏开发实例-贪吃蛇i don't know

    0
    58
    504KB
    2010-04-11
    0
  • 飞机游戏的c编程实现

    飞机游戏的c编程实现sdfgsdfgsdfgsdfgsdfgsdfg

    0
    72
    825KB
    2010-04-11
    10
上传资源赚积分or赚钱