MySQL-如何设计一个灵活的数据库使接口API代码改动较少

发布于 2017-01-21 05:23:38 字数 285 浏览 1359 评论 5

需要设计一个数据库,就是会有很多活的条件,这些条件都会封装成方法,请问怎么设计才能以后不会频繁的动代码
类似于需要满足这些条件

1
1. 申请人账号注册周期在半年以上!
2. 申请人必须加入公社!
3. 申请人(XX)被关注度100人以上,(需是真实有效)!
4. 申请人必须开通荣誉室并且达到一定丰满度(待定)
5. 申请人必须填写完整个人资料!
6. 申请人必须是绑定手机用户!

就是这些也是可能变的,然后把方法都也写进一个库中,方便调用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

归属感 2017-09-22 22:58:14

像这样的需求,一般都是直接以PHP数组的形式写成配置文件,然后把对这个配置文件封装一个调用接口,可以在任何地方调用,当需要判断用户信息时,只要获取这个USER的配置文件信息,再对其进行验证即可,由于它是一个数组,所以在任何时候都可以添加更多的条件。

例如:

$config['user_cond'] = array(
'is_mobile' => 'true', //必须绑定手机
'register_time' => '180', //注册时间
......

);

灵芸 2017-09-04 23:56:33

我觉得只要把那些条件作为全局变量设置好,把功能划分清楚,就可以很好地减少代码的修改了。

甜柠檬 2017-08-21 00:10:47

可以考虑把查询条件写成配制文件的形式,增加或修改条件只需要修改这个配制文件即可,程序在初始化时读取条件后进行解析。配制文件可以类似这种:

<?xml version="1.0"?>
<!-- logic 1:大于 0:等于 -1小于 -->
<configuration>
<condition>
<field>RegDates</field>
<value>60</value>
<logic>1</logic>
</condition>
<condition>
<field>focus</field>
<value>100</value>
<logic>1</logic>
</condition>
...
</configuration>

想挽留 2017-04-11 08:50:29

申请人账号注册周期在半年以上!

申请人必须加入公社!
申请人(XX)被关注度100人以上,(需是真实有效)!
申请人必须开通荣誉室并且达到一定丰满度(待定)
申请人必须填写完整个人资料!
申请人必须是绑定手机用户!

以上这些信息都在用户表中可以做冗余,以上这些条件基本都是0,1值

比较通用的调用写法,不过要注意下安全
//表字段名,比较运算符,阀值
$filterArray = array(
'uid'=array('=',123456),//申请人账号ID=123456
'registtime'=array('>',180 * 24 * 3600),//申请人账号注册周期在半年以上!
'isincommune'=array('=',1),//申请人必须加入公社
/**@todo*/
}

function filter($filterArray){
/**@todo*/
}

瑾兮 2017-02-24 20:45:28

创建一个config.user.php
<?php
// 申请人账号注册周期在半年以上
$config['user']['register_time'] = '';
// 申请人必须加入公社
$config['user']['add_gongshe'] = '';
/.........
?>

像上面这样的配置数据,你想添加多少就添加多少。然后再你的入库文件里include该文件后,把变量$config设置成global就可以了。然后在你系统任何地方只要调用$config['user']['register_time']就可以了,如需要改变数据的值,只修改配置文件即可!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文