
PHP
san生石
史莱克
展开
-
Redis 生成 年份+000001 订单编号的思路
很久没写博客了,倒不是说没有能分享的东西,只是发现有点变懒了。还是希望能捡起写作这个习惯。关于生成订单编号,以前也一直没太注意。一般的做法就是:随机数加上当前时间来保证订单唯一,这种办法在前期是没问题的,当用户达到一定数量级肯定是不行的。使用Redis生成订单编号是因为前面也看了很多关于Redis的书或博客,一直没有机会在项目中使用,决定尝试一下。订单编号需求是:当前年份后两位+6位宽...原创 2020-03-22 17:12:58 · 883 阅读 · 0 评论 -
消息队列
1. 什么是消息队列(what)?“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。-- 百度百...原创 2019-08-11 23:44:24 · 373 阅读 · 0 评论 -
PHP 位运算符
位运算符在开发中用到的比较少,这里写出来只是做个记录。这里我们需要清楚两个概念:1.什么是逻辑运算符 : 简单点来说,逻辑运算符只会对结果返回true或false。2.什么是位运算符 :位运算符并不会对结果返回布尔(boolean)值,而是进行数学运算。$a & $b And (按位与) :将$a和$b同时为1的位,置为1比如数字 1 & 2 = 00000001...原创 2019-07-29 00:28:36 · 391 阅读 · 0 评论 -
php include|require_once 引入文件路径问题
以前确实没有怎么在意这个问题,但是在昨天帮助同事调试代码的时候,在a文件里引入b文件b文件里又引入c文件却提示c文件不存在,仔细核对了N遍路径没绝对问题,后来同事在b文件引入的时候改用了绝对路径(以前使用的相对路径),神奇的尽然可以了。带着疑惑百度看了一些文章大致明白了原因。先把目录结构图放上先来了解两个概念:1.当前目录 :当前文件的目录2.工作目录 :当前脚本运行的目录ph...原创 2019-04-13 20:44:39 · 6173 阅读 · 0 评论 -
TP5 行为的一点理解
以前在使用tp3.2版本中并没有仔细的看手册,后来公司由3.2转到5.0版本后仔细的看了一遍手册。手册上有一章节讲到行为(Behavior)当时没怎么在意。后来在给手中的一个项目升级的时候,在项目中使用了钩子来扩展升级一些功能(官方预设的几个钩子还是很有用的,如果是业务需求写的钩子感觉和类方法没什么区别)。看一下官方怎么定义行为的行为(Behavior)是ThinkPHP扩展机制中比较关键的一...原创 2019-03-30 20:07:24 · 1050 阅读 · 0 评论 -
php Curl链式写法模拟表单提交
最近在看书的时候,书中的作者有讲到用php来实现链式写法,顿时让我感到很惊奇。这让我想起来了TP框架的链式写法:Db(xxx)->where(xxx)->select();然后通过在网上查阅了一些资料大致了解了它的实现原理:其实和我们平常写的class类没用区别,唯一有区别的就是要在每个方法里面返回当前对象给下一个方法继续调用,如return $this。基于此封装了一个简单...原创 2019-03-10 22:03:38 · 288 阅读 · 0 评论 -
tp5集成支付宝支付(App支付服务端)
最近公司的项目用上了支付宝支付,php作为服务端,我们只需要返回给前端生成好的签名数据,由前端的SDK拉起手机内的支付宝支付即可。(注:框架是thinkphp5,服务端环境是基于Apicloud)这里把支付宝"App服务端"的链接文档贴上 https://docs.open.alipay.com/54/106370/。demo下载下来直接使用就可以了。在这里分享一下踩的一个坑。那就是我们在...原创 2018-11-18 19:06:11 · 1960 阅读 · 0 评论 -
Laravel框架源码下载地址
http://down.golaravel.com/laravel/laravel-v5.2.15.zip版本:5.2.15http://down.golaravel.com/laravel/laravel-v5.1.11.zip版本:5.1.11http://down.golaravel.com/laravel/laravel-v5.0.22.zip版本:5.0.22http://d...原创 2018-03-11 00:56:36 · 3414 阅读 · 0 评论 -
PHP中的GetType和SetType
大部分的可变函数都是用来测试一个函数的类型的.PHP中有两个最常见的函数,分别是的GetType()和的setType()。这两个函数具有如下所示的函数原型,通过他们可以获得要传递的参数和返回的结果。string gettype(mixed var); bool settype(混合var,字符串类型);要使用的GetType()函数,必须先给它传递一个变量它将确定变量的类型并且返回一个包...转载 2018-03-15 23:18:56 · 945 阅读 · 0 评论 -
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0错误解决办法
具体的Xdebug的安装教程参考这个博客是:http://blog.youkuaiyun.com/lamp_yang_3533/article/details/52661749不在赘述PHP警告:Xdebug必须在第0行的Unknown中作为Zend扩展加载。首先看一下下载的xdebug是否和PHP的版本一致,如果这一步过了那么请看下一步。检查下下载的xdebug是NTS还是TS是否和PHP的线程对应上(...原创 2018-03-18 20:46:53 · 2346 阅读 · 1 评论 -
TP5配置隐藏入口index.php文件
隐藏的index.phpPS:这里说的入口文件指的是公共/ index.php文件,配置文件就在这个目录下可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。以Apache为例,在需要文件入口的同级添加.htaccess文件(官方默认自带了该文件),内容如下:<IfModule mod_rewrite.c>Options +F...转载 2018-04-22 16:28:23 · 19907 阅读 · 1 评论 -
PHP implode和explode用法
爆:把一维数组转换成字符串;爆炸:把字符串拆分成数组;爆($替换,$阵列):该函数接受两个参数,其中$替换每个字符串后面追加的,字符串(默认为空的字符串),$阵列代表你需要转换的数组;可以产考下面的演示:$ array = array('把','数','组','拆','分','成','字','符','串'); $ request = implode('',$ array);的v...原创 2018-03-26 23:51:19 · 1290 阅读 · 0 评论 -
关于php str_replace截取 ` ` 遇到的坑
在做前台展示数据的时候,像&NBSP这样的字符串(其实到现在我都还没有搞明白它到底是字符串还是实体标签,这里我就叫字符串)会在页面上留下空格,严重的会扰乱页面布局,最好的解决办法是修改编辑器的过滤机制(用的kindEditor编辑器具体的操作去看下官网)。我没有使用这个方法,在这里我用的PHP的str_replace函数函数。刚开始写的我是这样的str_replace函数( '&NBSP;',...原创 2018-04-13 13:29:03 · 2995 阅读 · 0 评论 -
PHP串口通信
分享一个PHP的串口通信模块,需要的功能包里面都有,有文档说明;链接:HTTPS://pan.baidu.com/s/1mVatSxwB5kin9ikM-MrQZQ原创 2018-06-14 23:28:22 · 5313 阅读 · 10 评论