自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

donglingjiu的博客

一觉游仙好梦 管它竹冷松寒 沉醉负白首 舒怀成大观 醒 亦在人间 梦 亦在人间。

  • 博客(120)
  • 资源 (15)
  • 收藏
  • 关注

原创 for update踩过的坑

常用 select ... for update 加行锁 确保 事务中数据一致性 ,但是有坑如下线上一般都是主从 , select操作 被打到从库 read only 提高性能 行锁 如果是update操作 更新的还是改行数据 同一事物里面没毛病 如果 之后 是 insert 操作,先查 后增 这种会出问题 跟主从设置的机制有关系 自动根据 根据DML切换主从 还是...此处的事务 是读写事务分开 还是怎么处理 嗯 坑在此处...

2020-07-15 20:20:58 924

原创 MySQL 导出数据踩过的坑

MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。SELECT ... INTO OUTFILE 语句有以下属性:LOAD DATA INFILE是SELECT ... INTO OUTFILE的逆操作,SELECT句法。为了将一个数据库的数据写入一个文件,使用SELECT ... INTO OUTFILE,为了将文件读回数据库,使用LOAD DATA INFILE。 SELECT...INTO OUTFILE 'file_name'形式的SELEC

2020-06-23 18:38:59 829

原创 git clone 踩过的坑3

报错: |Please wait a moment...remote: Counting objects: 864, doneremote: Finding sources: 100% (348/348)packet_write_wait: Connection to XX.XX.XX.XXport XXX: Broken pipefatal: the remote end hung up unexpectedlyfatal: early EOFfatal: index-pack .

2020-06-05 17:59:13 448

原创 git clone 踩过的坑2

报错: |Please wait a moment...|fatal: Project not found: XXXXXfatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.思路:git clone其他库试一下 如果pull 其他库OK 说明 对此库权限或者代码库本身问题 代码库设置成开..

2020-06-05 17:55:06 472

原创 git clone 踩过的坑

报错:Permission denied (baas,keyboard-interactive,publickey).fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.思路:SSH公钥问题 每个用户在公共开发机生成一对自己专属的SSH密钥,用-f参数指定你的密钥对的位置把下面例子中的v_fangu

2020-06-05 17:51:24 411

原创 闭包函数简单用法

匿名函数(闭包函数) 允许临时创建一个 没有指定名称的函数 最经常用作回调函数(callback) 参数的值闭包函数可以作为变量的值来使用$example = function () { echo 'Hello <br>' ; } ; $example() ; //闭包函数使用 父作用域变量 use() 使用use()接收变量需要在闭...

2020-03-03 14:38:13 431

原创 文件引入之单独引用和路径引用

namespce 命名空间 主要解决了同一个脚本里面函数重名的问题(多个路径下 同名函数 类 创建实例的调用)而文件引入 主要解决函数代码重用的问题单独引用 (一次引入单文件 包含文件路径) require 和 include ...

2020-03-03 11:47:48 1136

原创 docker简单命令

Docker 容器技术的代表 将程序隔离 打包 简介 粗糙的理解为轻量层的虚拟机 Mac安装 下载 www.docker.com ->Download Docker for Mac 安装 配置 配置镜像 加速器 国内阿里云 时速云 注册帐号 专属加速器地址 Linux安...

2020-02-18 20:09:49 193

原创 ThinkPHP5-模型多重嵌套下的排序

/** * 根据商品id 获取 商品详情 * 商品头图 product 商品详情图 productImage 商品参数 productProperty * productImage关联了image表 productImage中 order字段 定义商品详情多张图片的排序 */$product = self::with(['imgs.imgUrl','properties']) ...

2019-11-07 16:45:59 1083

原创 ThinkPHP5-路由的变量规则

//获取商品详情A---Route::get('api/:version/product/:id','api/:version.Product/getOne') ;//获取最近新品B---Route::get('api/:version/product/recent','api/:version.Product/getRecent') ;同一控制器下的两条路由 把B放在A前面可以正常...

2019-11-07 15:50:49 582

原创 ThinkPHP5-Token令牌验证身份以及权限

微信登录令牌 传统网站 用户登录 小程序 令牌 (分 权限) 获取令牌 客户端(携带帐号 密码) --->getToken接口 <-->帐号 密码 Token(令牌) Auth(权限) 访问接口 客户端(接待Token) --->访问接口(如 下单接口) <--...

2019-11-07 14:48:19 1245

原创 ThinkPHP5-数据集

场景:使用模型之后 可以protected $hidden=['summary'] 隐藏字段但是这种隐藏 所有相关模型全都隐藏了 如果有些需要显示 有些情况需要临时隐藏不返回给客户端 TP5提供了 一组模型对象 数据集 collection() 助手函数 返回数据集对象 该对象有 hidden() 方法 可以实现临时隐藏字段 $result = ProductMod...

2019-10-30 18:05:17 417

原创 ThinkPHP5-开启路由完整匹配

Route::get('api/:version/theme','api/:version.Theme/getSimpleList') ;Route::get('api/:version/theme/:id','api/:version.Theme/getComplexOne') ;如上 两条路由 不开启完整匹配的话 默认匹配到第一条 第二条不会被匹配config.php ...

2019-10-28 17:17:14 858

原创 ThinkPHP5-开闭原则(多版本支持)

一般 在控制器多传入一个参数 $version public function getBanner($id) { (new IDMustBePostiveInt())->goCheck() ; /** * 调用 model返回 banner信息 */ ...

2019-10-28 17:14:51 150

原创 ThinkPHP5-图片资源URL

图片资源URL配置 "img": { "url": "/banner-2a.png" } 图片存储 本地(数据库存储相对路径) 网络云 七牛云 阿里云oss 自定义配置文件 配置域名以及存储目录 读取配置文件+数据库相对路径 拼接成完整的路径 application/extra/setting.php...

2019-10-24 21:20:35 909

原创 ThinkPHP5-模型关联|隐藏模型字段优化

模型关联(主从表 banner banner_item) 界面上有多个banner位 每个banner位置具体显示图片个数 banner_item 查询banner 获取当前banner位信息以及具体banner_item信息 banner->banner_item 1->many 定义关联 class Banner extends...

2019-10-24 21:07:25 1186

原创 ThinkPHP5-操作数据库(原生|构造器|模型)

原生sql $result = Db::query('select * from banner_item where banner_id = ?',[$id]) ;构造器 封装了对不同数据库的操作 提供了一种统一操作的语法 不需要关心不同数据库sql语法的差异性 /** * Db::table('banner_item')->where('banner_...

2019-10-24 15:52:57 559

原创 ThinkPHP5-自定义全局异常处理类报错 HttpException异常抛给Exception

思路 : ThinkPHP中 Exception 和 HttpException两个异常类没有直接关系Exception extends \Exception implements ThrowableHttpException extends RuntimeException extends \Exception implements Throwable但是有共同...

2019-10-23 17:11:35 1240

原创 ThinkPHP5-构建全局异常处理类

自定义异常处理类 1>class ExceptionHandler extends Handle 继承 Handle 2>public function render(Exception $e) 重写render方法 3>config.php中 配置exception_handle 指向自定义的异常处理类 // 异常处理handle类 ...

2019-10-22 19:55:35 345

原创 ThinkPHP-Exception异常分类

服务器端给客户端(小程序|app|CMS等)提供接口的时候 1>通常不需要记录日志 需要向用户返回具体信息 由于用户行为导致的异常 没有通过验证器 没有查询到结果(返回空 也可) 一般需要返回json格式的 自定义信息 (错误码 错误信息 以及当前接口URL)2>通常记录日志 不需要向客户端返回具体信息 服务...

2019-10-22 19:50:09 504

原创 ThinkPHP5-日志

TP5默认的日志系统 'log' => [ // 日志记录方式,内置 file socket 支持扩展 'type' => 'File', // 日志保存目录 LOG_PATH base.php 定义全局常量 'path' => LOG_PA...

2019-10-22 19:39:42 595

原创 TP5-validate验证器 构建自己的验证层

TP5自带的 validate常用来进行校验 分为独立验证和验证器两种服务器端给客户端(小程序|app|后台CMS不分离的话也算)提供接口的时候 客户端参数尤其要进行校验独立验证 use think\validate ; class Banner { ...

2019-10-22 19:31:26 478

原创 AOP

AOP 面向切面编程 抽象的方式 统一整体的处理某一类问题 每个框架都会遇到的全局异常处理层 全局校验层 ,把大部分业务都会遇到的抛异常 参数校验等封装一层 简化了代码 复用性也强 通俗的来讲 就像是去电影院看电影 买票的渠道很多 线上线下 但是检票口只有一个...

2019-10-22 18:59:37 113

原创 Vue中列表渲染-key值的使用以及数据改变页面同步变化问题以及template占位符的使用

<to-do v-for="(value,key) of list" :value="value" :index="key" :class="['actived_one']"...

2019-09-04 21:46:06 2414

原创 Vue的条件渲染-v-if与show的区别以及key值的作用

v-if 条件渲染 通过v-if指令 结合js表达式返回值 决定一个dom元素是否存在1>标签一般成对使用 标签之间不能有其他不相关的标签阻隔 否则报错2> 通过条件判断 控制标签是否在页面上显示 但是条件不匹配的标签 不会出现在dom节点上3>key值的作用Vue在重新渲染页面的时候 会尝试复用页面上已经存在的dom 给某个元素标签加上key值之后...

2019-09-04 18:17:42 789

原创 Vue的样式绑定-class和style

Vue直接操作数据,当数据改变Vue底层自动渲染dom。当有需要改变dom区域样式的时候 借助于:class和:style以及事件可以实现class 一.class的对象绑定 :class="{actived: isActived}" 预定义样式 actived 根据事件判断isActived 当isActived为true的时候 使用样式<!...

2019-09-03 18:43:22 286

原创 Vue2.6-方法 侦听器 计算属性

很多时候 需要在视图中渲染的数据是通过 已经定义的多个变量通过逻辑计算返回的结果如 已经定义 firstName lastName 现在需要渲染 fullName = firstName + lastName 的结果实现方法有多种:watch(侦听器)和computed(计算属性)都具备缓存机制 但是相比较 watch需要侦听大量依赖 computed相比简洁所以 如果...

2019-09-03 16:51:19 188

原创 Vue2.6-父子组件之间值传递

父组件->子组件 v-bind:index = 'key' 简写 :index='key' 遍历list的时候 将每一项的值赋值给value 每一项的下标赋值给key 把value值通过v-bind绑定到变量 content上 把key值通过v-bind绑定到变量 index上 传递给to-do-list组件子组件->父组件...

2019-09-02 17:21:51 281

原创 oracle -移动数据文件

移动jfzl02.dbf和system01.dbf到/oracle/backup路径下 sql>shutdown immediate; --->关闭数据库 $cp /data/test/jfzl02.dbf /oracle/backup/ ...

2019-05-27 15:40:05 261

原创 PHP实现微信公众平台开发---基础篇

PHP实现微信公众平台开发---基础篇一、准备工作i. 有一定的PHP+mysql基础(前提)ii. 要有独立的服务器或者空间(必须)二、微信公众账号介绍和申请流程i. 微信公众帐号---自媒体角色 ii. 微信应用 ---平台 iii. 微信用户--普通用户iv. 关系1. 微信应用给 微信公众帐号 微信用户提供信息交互 获取资讯的平台2. 微信用户通过 微信应用这个平台 订阅自己感兴趣的公众账...

2018-05-30 22:43:17 781

原创 RHCE-配置多用户SMB挂载

server配置[root@server0 ~]# mkdir /data[root@server0 ~]#semanage fcontext -a -t samba_share_t '/data(/.*)?'[root@server0 ~]# restorecon -vvR /data/restorecon reset /data context unconfined_u:ob...

2020-07-22 11:06:54 609

原创 H5表单中时间日期控件

<form action="doAction.php" method='post'> <input type="date" name="datetime" id="" />年/月/日 <br/> <input type="datetime" name="datetime1" id=""> &l...

2020-03-09 20:26:37 4269

原创 可变函数

可变函数变量赋值与 函数名相同 调用变量时加上() 类似于调用函数print() unset() isset() empty() include() require() ---内置函数 是PHP语言结构function get_order($num) { echo 'A In get_order() we need ' . $num . ' boxs <...

2020-03-03 20:39:16 351

原创 嵌套函数-function_exists

嵌套函数 当外部函数被调用时 内部函数就会自动进入全局域中 成为新的定义函数function out() { function in() { echo "如果外部函数out没被调用 是不存在的 <br>" ; } } //in() ;// Fatal error: Call to ...

2020-03-03 14:47:26 327

原创 ThinkPHP5-路由分组

//获取商品详情A---Route::get('api/:version/product/:id','api/:version.Product/getOne',[],['id'=>'\d+']) ;//获取最近新品B---Route::get('api/:version/product/recent','api/:version.Product/getRecent'...

2019-11-07 16:02:14 1022

原创 Vue2.6-computed(计算属性的getter和setter)

<!DOCTYPE html><html> <head> <title>computed的getter和setter</title> <meta charset="UTF-8" /> <script src="./vue.js"></script> </head> ...

2019-09-03 17:24:30 422

原创 组件化实现简单的toDoList

组件化 将一个页面根据功能分解成多块,每一块定义成一个组件,页面分别引入这些组件。 如此一来 修改维护页面功能的时候 直接定位到相应组件文件。每一个组件其实就是一个Vue实例 组件化其实就是实例化 ,页面由多个Vue实例组成 全局组件 Vue.component Vue提供的 创建全局组件 v-bind 向子组件传入绑...

2019-09-02 15:45:26 669

原创 Vue2.6-浅析 MVP设计模式与MVVM设计模式

MVP 设计模式M model层 数据层P Presenter层 业务逻辑相关的 控制层V view层 视图层 页面上的dom展示通过以下 JQuery实现 toDoList M层很弱 没有通过ajax获取远程数据 div区域 dom域 是 V 层视图 视图改变的时候 触发控制器 控制器可以调M(模型层)发送ajax请求获取数据...

2019-08-25 14:57:39 224

原创 Vue2.6-简单的ToDoList 增加列表项(MVVM)

<!DOCTYPE html><html> <head> //MVVM 模式 直接操作数据 不涉及dom操作 vue底层自动根据数据 渲染页面 <title>ToDoList</title> <meta charset="UTF-8"> //引用...

2019-08-25 13:15:34 260

原创 HTTP协议

HTTP/1.1中 状态码 200 301 304 403 404 500的含义 HTTP协议状态码 状态码负责客户端http请求的返回结果 标记服务器端处理是否正常以及出现的错误 状态码的职责是 当客户端向服务器端发送请求的时候 描述返回的请求结果 五类响应 1XX 信息类状态码 接受请求正在处理 ...

2019-08-08 04:31:51 97

RedisModel.class.php

php 使用redis缓存 zset 封装数据库操作(增删改查) 分页 数据量过大的时候 使用mysql的limit分页会比较缓慢 这个时候可以把一部分数据通过redis缓存来进行分页

2019-11-13

Model.class.php

php封装原生mysql数据库操作(增删改查)字段过滤 分页 sql query之前where having orderby 等

2019-11-13

delete_todolist.html

Vue支持组件的概念,那末组件之间尤其是父组件与子组件之间传值简单分析,该实例通过简单的demo做以说明

2019-09-02

调用二维码api

静态二维码图片可以 百度 草料二维码 在线生成下载 动态生成二维码 可以调用免费的二维码api

2018-07-26

微信公众号 自定义菜单

微信公众号自定义菜单 使用的时候 替换自己的appid 和appsecret

2018-07-26

公众号删除菜单部分代码

公众号自定义菜单删除 测试代码 使用的时候 替换自己的appid 和appsecret

2018-07-26

公众号回复文本|音频|视频|图文

公众号上传资源到素材库之后 调用回复文本|音频|视频|图文 从数据库中取出需要的资源返回

2018-07-12

CURLget|post请求封装

调用微信公众平台接口 需要用到CURL(相当于ajax) 访问接口返回数据 页面不刷新 此文件封装了调用curl执行get|post请求 返回相应的数据

2018-07-12

微信公众号接入个人服务器代码

用户关注微信公众号 微信服务器将信息转发到个人服务器 配置token 与个人服务器建立链接

2018-07-10

Apache配置文件 重写设置

将源码解压缩 上传到配置好的网站根目录之后 只有首页能访问 其他页面404 ? 使用的是TP/laravel框架开发的源码 路径会出现问题 修改httpd.conf 打开 LoadModule rewrite_module modules/mod_rewrite.so 找到上述代码 路径重写 添加代码

2018-06-28

项目部署 重写文件

项目部署 重写 在ThinkPHP中 若是要隐藏入口文件 同样需要在.htaccess

2018-06-27

dede织梦编辑器中插入mp4视频文件方法 参考手册

详情参见博客 --- dede织梦编辑器中插入mp4视频文件方法

2018-06-02

宝塔一键安装环境包

服务器端部署项目的时候 用宝塔安装包 一键安装IIS apache tomcat php jdk mysql等环境 方便

2018-05-31

Sublime编辑

对于html,css,js,php等开发 方便快捷 有关连功能 可以编辑相应模版 使用快捷键 更加高效

2018-05-31

GitHubDestop

git工具 windiws平台桌面客户端 如果是其他如mac客户端 需要到官网下载对应版本

2018-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除