sql之配置表的引发的封装操作

dsql sql 存在 业务 配置 name 封装 value 框架 引发 编程技术
发布日期 2022-10-28 更新日期 2022-10-28 阅读次数 91 文章字数 1.0k

配置表,通常指的是和系统模块绑定、或用户绑定的配置。

这些配置可能一开始就存在,或可能不存在。它的表通常有3个核心字段,id,name,value

  • 查询是否存在,则通常不存在时响应一个默认值
  • 更新时要判断是否存在,不存在则新增

则可以对业务模块函数封装一下【如果是系统模块直接在函数库中封装】

例如获取一个值:

    /**
     * @param string $name 名称
     * @param string $default 默认值
     */
    private function get_u_common($uid,string $name, string $default=""){
        global $dsql;
        $sql = $dsql::SetQuery("select `value` from `#@__job_u_common` where `uid`=$uid and `name`='$name'");
        return $dsql->getOne($sql) ?? $default;
    }

设置一个值:

    /**
     * @param $uid
     * @param string $name
     * @param string $value
     */
    private function update_u_common($uid,string $name,string $value){
        global $dsql;
        $sql = $dsql::SetQuery("select `id` from `#@__job_u_common` where `uid`=$uid and `name`='$name'");
        $common_exist = $dsql->getOne($sql);  //是否存在
        if($common_exist){  //存在则更新
            $sql = $dsql::SetQuery("update `#@__job_u_common` set `value`='$value' where `id`=$common_exist");
            $dsql->update($sql);
        }else{  //不存在则新增
            $sql = $dsql::SetQuery("insert into `#@__job_u_common`(`name`,`value`,`uid`) values('$name','$value',$uid)");
            $dsql->update($sql);
        }
    }

这里引申一下,框架应该随着业务成长不断进步,框架和业务应该是相互相成的,定制开发才是软件的希望之路,这里的定制包括系统的框架和业务,需求明确。

这也是为什么不懂框架的程序员不是好程序员,不仅仅是使用,而是根据业务对框架进行灵活扩展【外包与自研的区别,取决于不仅仅写业务而是可以对底层框架进行修改】,写业务不仅仅是业务本身,毕竟很大一方面就是为了完善框架本身,当你这么考虑的时候就真正融入写业务中去了。

 


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-161.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

dsql sql 存在 业务 配置 name 封装 value 框架 引发

发表评论

相关推荐
朱丰华   |   1年前   |   页面 · 监听

iframe子父页面信息传递与监听

375    评论    点赞
朱丰华   |   1年前   |   git

git push -u参数是什么意思?--set-upstream

244    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql Timestamp或dateTime格式筛选

126    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

198    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

113    评论    点赞
朱丰华   |   1年前   |   mysql · 变量 · sql

MySQL实现行号-自定义变量

113    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

95    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

70    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql GROUP_CONCAT 顺序排序

84    评论    点赞
朱丰华   |   1年前   |   文件 · linux · 修改

linux文件的三个时间atime,mtime,ctime分别表示什么?

275    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   git · add · 文件

git add -A 和 git add . 的区别

113    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

158    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

150    评论    点赞
朱丰华   |   1年前   |   html · npm · audit

npm报错、原因:run `npm audit fix` to fix them, or `npm audit` for details html

68    评论    点赞
朱丰华   |   1年前   |   javascript · js · obfuscator · 混淆

javascript-obfuscator混淆js文件

52    评论    点赞
朱丰华   |   1年前   |   js · vue · npm · 安装

npm快速上手

100    评论    点赞
朱丰华   |   1年前   |   centos

centos目录/etc/profile.d是干什么的

70    评论    点赞
朱丰华   |   1年前   |   python

python怎么引入自定义的子目录、父目录文件?

65    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞