![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP开发
文章平均质量分 79
我是大愚
我是大愚,PHP工程师,专注于服务端技术。热爱开源,在GitHub创建了一个PHP聚合支付的sdk项目,目前是此类最多star拥有的项目(Payment)。希望遇见跟多的同行互相学习进步。
展开
-
PHP的引用,你知道多少
真的是变懒了,一个月一篇的节凑都很难保证了。最近面试他人的过程中,问了一些关于PHP引用的知识,发现很多同学对这方面知之甚少,还有很多工作中基本没有使用过。甚至有人告诉我要少用引用,引用会带来一些诡异的问题。我心里默默说,避免诡异的问题是要去理解引用而不是少用引用。今天一起来解析解析。场景假设先从一个引用的所谓诡异问题开始。假设我们有这个场景:我们从数据库中读取了一组订单数据,需要把订单的每条数据单原创 2017-12-15 10:34:11 · 1169 阅读 · 3 评论 -
11. PHP接入微信企业付款功能
这个企业付款转账非常有用。能够自动完成一些诸如:工资发放、代理分红等。原创 2016-08-16 11:10:59 · 2687 阅读 · 0 评论 -
10.PHP接入微信退款接口
微信退款能够将一笔订单分为多笔进行退回。对于电商业务非常方便进行退单处理。原创 2016-08-16 11:03:53 · 2298 阅读 · 0 评论 -
4.php设计模式:状态模式的使用场景
在这儿给大家说点事儿。我的博客搬家到github主页上了。我的博客。以后首发都在github上了。csdn也会继续更新。可能就是稍微慢一下。另外最近搞了一个支付的开源项目。这是项目地址 目前已经支持: * 支付宝的 即时到帐、移动支付、加密退款接口。 * 微信的目前已经支持:app支付、扫码支付、H5支付项目还存在些bug,正在不断结合公司业务进行修改。后期可能会支持的越来越全面。状态模式废话原创 2016-06-30 09:16:59 · 2592 阅读 · 1 评论 -
7. PHP接入支付宝有密批量转款接口
需要进行批量转款时,可通过该接口完成。能够一次向多个支付宝账号完成转款操作。可用于员工工资、代理佣金等业务。目前该接口支付宝已经暂停对外审核了!原创 2016-08-03 20:22:26 · 3746 阅读 · 3 评论 -
6. PHP接入支付宝有密退款接口
如果人工去完成一个订单的退款操作,将会非常之麻烦。通过支付宝提供的退款接口,只需要将相应数据通过sdk提供给支付宝。然后输入退款密码即可。原创 2016-08-03 20:17:40 · 5051 阅读 · 0 评论 -
2. PHP接入支付宝 即时到帐接口
本文主要介绍如何快速接入即时到账接口。该接口常用于网站上调用支付宝支付。利用payment项目,简化了支付宝发起支付的复杂度。原创 2016-07-18 20:20:26 · 3562 阅读 · 0 评论 -
4.PHP接入支付宝手机网站支付、移动支付接口
前面已经介绍完即时到账、支付的回调接口。本文档主要完善了支付宝手机网站支付、移动支付接口的代码示例。原创 2016-07-29 23:28:28 · 7782 阅读 · 0 评论 -
3. php的设计模式:从支付开始谈工厂模式
单纯的讲设计模式非常的没有意思,而且不利于理解与实践使用。我通过将工厂模式与开发中集成支付的场景进行结合讲解,相信大家能够很好的后面工作中实践工厂模式。原创 2016-06-18 02:05:31 · 2669 阅读 · 0 评论 -
1.APP后端开发系列:登陆系统设计中的注意问题
github博客-首发地址想写这个系列很久了,因为之前做这个东西花费了大量的精力,有必要分享出来与大家共享。以前也写了一些关于 APP后端开发的系列文章 由于当初功力不够,很多问题描述不清楚或者解决方案过于复杂、不严谨等。这一次查了很多资料,问了很多相关人士。准备再结合自己实际工作中的问题再次进行一些补充。就先从登陆的设计开始吧!越想越糊涂之前再做这一部分的时候,总想着复杂的技术,说出去多屌炸天呀原创 2016-07-12 19:25:54 · 6381 阅读 · 1 评论 -
5. php设计模式:策略模式的实际应用
原文地址最近写了一个集成各家支付的开源项目(支付宝与微信)。项目地址。让调用支付变得更加简单、统一。目前已经在公司商城推行使用,上海一米市集也采用了这个支付集成项目。我可不是打广告哦,只是为了让大家可以有一个只管的了解渠道。可以去看看。今天主要聊的不是支付,而是说说其中使用的一个设计模式:策略模式。策略模式的定义解析 策略模式(Strategy Pattern):定义一系列算法,将每一个算法封原创 2016-07-23 11:53:02 · 2735 阅读 · 1 评论 -
2.php的设计模式:单例模式
我都对自己有点无语了,又要开始写单例模式,都TM是套路。 不过话虽如此,套路照打。声明据说当前单例模式已被列入反模式的行列了,不过我还在用,因为需要。有需求就有市场。 他的一个好处是,确保需要全局唯一的变量,不重复生成,节约空间。比如:DB,我们仅仅需要在一次生命周期中,创建一个连接就好。这个时候就很适合用单例模式。大家都知道的单例模式代码class MySqlDB{原创 2016-06-01 11:43:00 · 1431 阅读 · 0 评论 -
1.设计模式六大设计原则详解
闲话开年做总结的时候说,今年要搞一搞phpunit、设计模式等。测试的坑我已经填了,今天开始来填设计模式的坑了。 之前看文章(不记得是哪儿了,对不起啊,作者)说:设计模式这个东西,是因为我们思维的局限,没办法设计出一个架构良好的系统,所以搞出了这样的东西来满足我们的需求。一个完美的东西应该是简单的,而我们再看设计模式的时候,常常被其左一下、右一下搞得晕晕的。因此,这位大牛觉得,在系统开始之初是不应原创 2016-05-09 11:22:58 · 1918 阅读 · 0 评论 -
PHPUnit从零开始(2):编写 PHPUnit 测试
计划永远赶不上变化,本计划本月完成所有PHPUnit的博客内容。今天一看日历发现都TMD的二月底了,而我才写了一篇而已。情何以堪……今天写第二篇,详细说一说如何写出一个测试用例。 这里会涉及到一些什么自动加载之类的,我就不再这里补充了,大家可以查阅相关PHP自动加载的资料。 首先我的项目结构如下: +phpunit // 项目名称 +src // 存放项目代码,需要测试原创 2016-02-22 14:44:50 · 2853 阅读 · 0 评论 -
PHPUnit从零开始(1):从它的安装配置说起
又是新的一年了,之前一只琢磨2016写点什么开篇是一个比较好的开端呢?然后一直在PHPUnit与设计模式之中纠结。最后决定还是从PHPUnit作为新的一年开篇吧。 PHPUnit对于我来说也是一个新的知识,之前使用Laravel时,只是简单了解了一下,并没有真正的实践过,之前一直想,这么屌的东西,我准备花个一个月来好好研究下。结果……安装花了我半天,其它的都不是事儿。原创 2016-01-15 10:11:20 · 4511 阅读 · 0 评论 -
12.Laravel5学习笔记:使用mongodb开发LBS应用
随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理。我所在的项目也正从事相关系统的开发,我们使用的是Laravel+MongoDB的组合。简单记录下自己使用的心得与方式方法,第一次使用,在很多点上考虑的不足,也希望能够获得指正。原创 2015-11-26 18:18:31 · 5404 阅读 · 2 评论 -
3.支付的回调统一处理
在支付宝、微信支付sdk接入的过程中,处理支付回调、退款回调等操作一直让人头痛。Payment通过依赖注入的方式将业务与支付回调行为进行分离。切底让客户端专注业务。简单方便的跳用。原创 2016-07-29 23:23:13 · 9889 阅读 · 2 评论 -
8. PHP接入微信的三种支付:APP支付、公众号支付、扫码支付
当前微信支付已经占了半壁江山。所以国产应用应该必不可少。为了良好的进行支付整合。本sdk将其调用方式进行了统一。便于大家使用。原创 2016-08-10 20:44:19 · 6008 阅读 · 0 评论 -
9. PHP接入微信支付订单、退款订单、转款订单的查询
微信支付支持支付、退款、转款。有时想对相关信息进行查询。了解相对应的进度。那么通过这些查询接口就可完成对应的事情。原创 2016-08-10 20:51:46 · 5780 阅读 · 1 评论 -
PHP中static与yield关键字的思考
语言本身的语法需要我们更多的关注与实践,不要仅仅关注什么高并发、搞负载、rpc。基础决定了上层建筑。原创 2017-09-11 13:03:27 · 1792 阅读 · 0 评论 -
PHP后端该如何组织项目结构
后端api项目开发原创 2017-08-07 19:26:52 · 3663 阅读 · 2 评论 -
后端开发者从零做一个移动应用(后端篇)
后端开发全栈系列第二篇。如何搭建一个完整的后端系统原创 2017-07-16 16:52:27 · 7777 阅读 · 3 评论 -
Payment:支付的回调统一处理
有20天没有更新了,主要原因有二:其一这期间对自己的职业规划做了一些调整;其二生了一场小病。所以大家一定要保重身体,平时得多锻炼锻炼了。根据大家反馈,大家对 Payment 还是很认同,这让我很开心。五一花了两天时间把招商一网通集成进来了。希望能够帮助到更多的人。原创 2017-05-01 21:26:45 · 13314 阅读 · 2 评论 -
Payment:接入支付宝当面付(扫码支付与条码支付)教程
越写越觉得支付类的文档写这么细,会不会反而让大家觉得很复杂呀?其实都是同样的调用方式这一篇,将把支付宝剩下的扫码支付与条码支付全部写清楚。Payment 3.0 支付宝的配置设置文档请 点击这里项目GitHub地址:https://github.com/helei112g/payment支付宝的当面付,包括扫码支付与条码支付。 - 扫码支付,是消费者用手机去扫商家生成的二维码。个人觉得也可以将这个原创 2017-03-15 21:58:54 · 11133 阅读 · 2 评论 -
Payment:微信支付发起支付请求文档
文档更新太慢,自己都忍不住要抱怨了。可能越来越慢了 Payment 3.0 微信的配置设置文档请 点击这里项目GitHub地址:https://github.com/helei112g/payment为了调用方便,提供了统一的 Client\Charge 类来发起支付。需要设置的参数 参数 类型 是否必须 说明 body boolean 是 商品描述 subjec原创 2017-04-10 22:31:14 · 5181 阅读 · 2 评论 -
Payment:支付宝移动支付服务端教程
Payment 3.0 支付宝的配置设置文档请 点击这里项目GitHub地址:https://github.com/helei112g/payment移动支付,适用场景: 适用于商家在App应用中集成支付宝支付功能。 商家APP调用支付宝提供的SDK调用支付宝客户端内的支付模块,商家APP会跳转到支付宝中完成支付,支付完后跳回到商家APP内,最后展示支付结果。 目前支持手机系统有:i原创 2017-03-14 19:02:48 · 2178 阅读 · 0 评论 -
Payment:微信支付配置文件设置说明
终于写到微信了。加油干,撸起袖子奔小康。项目GitHub地址:https://github.com/helei112g/payment微信支付个人觉得在帐号设置上有些麻烦,帐号太多啦,支付宝目前就是一个应用基本涵盖了所有的接口开发。可能是由于微信支付的后端是财付通,反正咱们写代码的,也别管那么多。理清楚各配置的关系,然后写出高质量的代码就好。关于如何申请微信支付,只讲两个问题,服务号支付能力的申请在原创 2017-03-28 22:15:48 · 5150 阅读 · 1 评论 -
Payment:支付宝手机网站支付教程
支付宝的H5支付体验真不错(支付宝叫他手机网站支付)。反观微信支付干嘛要把H5支付藏起来?而且体验还那么差。Payment 3.0 支付宝的配置设置文档请 点击这里项目GitHub地址:https://github.com/helei112g/payment从本篇开始,将用支付宝的沙箱方式进行演示,在项目的 payment/examples 中我已经提供了我的沙箱帐号。新版接口已经同时支持 RSA原创 2017-03-12 12:28:45 · 4670 阅读 · 0 评论 -
Payment:支付宝支付配置文件设置教程
从2016年6月payment做出来,到这一版本(3.0),坚持了快一年啦。感谢这期间给我支持(打赏与协作)的人。Payment 主要针对支付宝支付、微信支付的接口进行了聚合。开发者无需重复集成繁琐的支付接口,使用 Payment 就能应对所有支付场景,快速接入支付功能。Payment 针对不同支付服务商的接口,提供了统一的调用方式,并且内部将签名、验签进行了集成,使用者只需要喂数据然后拿到结果进行原创 2017-03-10 09:44:31 · 6346 阅读 · 0 评论 -
Payment:支付宝即时到账接口接入教程
记住,如果觉得文档写得不清楚,一定要告诉我。励志写好文档为大家服务!Payment 3.0 支付宝的配置设置文档请 点击这里项目GitHub地址:https://github.com/helei112g/payment支付宝从新版本开始,提供了沙箱方式,方便进行调试。但是,即时到账支付宝没有提供沙箱模式。因此大家在使用过程中,注意设置配置。我在项目中提供的初始配置也不能用于测试 即时到账接口。原创 2017-03-11 22:31:31 · 7592 阅读 · 0 评论 -
Swoole入门指南:PHP7安装Swoole详细教程(一)
好久未更新了,不是懒呃,是太忙啦!终于偷得浮生几日闲。 这一段时间准备为大家带来swoole的入门教程,感受一下php的nodeJs强悍之处。所有的示例代码均放在了github.看完本系列,可以使用swoole做一些基础应用。原创 2017-02-08 12:58:47 · 12274 阅读 · 1 评论 -
xdebug+phpstorm实现远程断点调试
之前已经说过使用xdebug来调试php程序。这里主要说一下xdebug的远程断点调试至于如何安装合适的xdebug,请看这里要使用远程调试,配置文件:zend_extension=xdebug.soxdebug.idekey = "PHPSTORM"xdebug.remote_enable = 1xdebug.remote_mode = "req"xdebug.remot原创 2016-10-18 10:51:44 · 7139 阅读 · 0 评论 -
5. PHP接入支付宝单笔订单查询接口
支付后的订单,往往需要了解订单的状态。通过该接口,可以直接向支付宝查询指定订单的状态。原创 2016-08-03 20:11:09 · 9378 阅读 · 12 评论 -
1. 支付宝、微信支付接入集成
现在市场上的支付渠道越来越多了,而且工作中越来越多的需要处理与支付相关的接口。接入接口并没有什么难度,但是接口众多,开发中难免遇到坑,官方提供的接口参数太多,让人一阵头大。Payment项目仅提供简单的完成支付、查询、退款接口。为个人开发者、中小企业快速接入提供统一接口。本SDK免费使用,自由扩展。但未经本人许可不能直接或间接用于商业用途。原创 2016-07-18 16:49:58 · 4489 阅读 · 0 评论 -
Laravel学习笔记目录
伴随自己学习、使用laravel的过程,记录下遇到过的问题与思考。与程序猿们共勉,知识的道路没有止境,我们一直都在学习的路上。第一部分:入门级 这部分文章写得都是比较浅显的,属于纯粹的使用,我也不知道自己什么时候能够登堂入室。先这么写着吧。后面的项目会用到利用laravel来进行app的服务端开发。到时可能也开一个专栏专门说说app服务端开发的那些事儿。原创 2015-08-12 19:08:09 · 3305 阅读 · 0 评论 -
PHP中的浅复制与深复制
最近温习了一下Design Pattern方面的知识,在看到Prototype Pattern这一设计模式时,注意到其中涉及到一个浅复制与深复制的问题。这里来总结一下,提醒自己以后一定要多加注意。自PHP5起,new运算符自动返回一个引用,一个 对象变量 已经不再保存整个对象的值,只是保存一个标识符来访问真正的对象内容。当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不原创 2015-11-03 15:35:37 · 1676 阅读 · 0 评论 -
4. Laravel5学习笔记:Facade的运行机制
什么是Facades,官方文档如是说:Facades 提供一个 静态接口 给在应用程序的 服务容器 中可以取用的类。Laravel 附带许多 facades,甚至你可能已经在不知情的状况下使用过它们!Laravel 的「facades」作为在 IoC 容器里面的基础类的静态代理,提供的语法有简洁、易表达的优点,同时维持比传统的静态方法更高的可测试性和弹性。说实话,这段话读起来真不像人类的语言,我原创 2015-06-24 12:28:38 · 4094 阅读 · 3 评论 -
3. Laravel5学习笔记:laravel队列使用教程
在app服务端开发中,常常会遇到此种情况: 某一个大的任务中,可以分割为1,2,3,4个小任务,其中2的完成依赖1,4的完成依赖2。那么1、2、4可以理解为一个事务,必须依次执行,否则任务无法完成。但是任务3,与1、2、4没有关系,可以单独完成,谁先谁后也没有影响......这个时候可以用队列来提高程序性能。原创 2015-06-19 17:22:42 · 12122 阅读 · 5 评论 -
1. Laravel5学习笔记:Composer.json配置文件说明
Java有Maven, Node.js有npm, ROR有gem, 这些语言的程序员在开心地使用包管理工具加速开发效率时,PHPer们还在复制粘贴的黑暗中。PHP在Composer之前,包管理的历史不堪回首。在相当长的一段时间内,如果应用依赖于第三方库,PHPer需要拷贝这些库的源代码, 或者通过PEAR、PECL安装。如果第三方库又依赖于更多的第三方库,那么很快就会进入依赖的黑洞。转载 2015-06-15 15:00:48 · 17696 阅读 · 7 评论 -
2. Laravel5学习笔记:执行route:cache时报LogicException
laravel5的路由支持缓存。需要执行以下命令:php artisan route:cache执行完毕后,报出以下错误:Route cache cleared![LogicException]Unable to prepare route [/] for serialization. Uses Closure.这个异常的错误信息,提示的已经非常明确了:大概意思就是说在闭包里边,是不能够进行路由原创 2015-06-18 17:43:01 · 10410 阅读 · 0 评论