0

微信小程序web-view内嵌H5使用PHP完成支付功能

在开发过程中,遇到使用微信小程序web-view内嵌H5完成支付的业务,我们该怎么去实现? 一、设计思路1、使用PHP请求接口获取wx_data_package支付包数据 2、使用jweixin.js把wx_data_package数据传到小程序 3、小程序获取数据,调起支付界面完成支付,并返回支付是否成功 4、后台根据返回的数据判断支付是否成功,然后进行相关业务处理 二、前期准备1、创建PHP文件,index.php主界面,success.php支付成功,error.php支付失败需要创建的php文件2、新建WeChat项目,并创建下面目录需要创建的WeChat目录 三、实现代码1、ind...

阅读全文>>

0

PHP高级编程-回归原生态-谨防阻塞式调用

4.4 谨防阻塞式调用PHP每次请求都会有单独的php-fpm进程响应和处理。php-fpm的进程模式又可以分为static静态执行、dynamic动态执行和ondemand模式。不管是何种执行方式,都是启动了一定数量的php-fpm进程来响应排山倒海般流量的请求。假设,这些进程全部都被占满时,系统就会出现异常、崩溃和无法响应新请求和新访问。识别哪些会产生阻塞式调用的操作,是预防这一危机最基本的要求。不要说刚学习PHP的新手,哪怕是从事了多年PHP开发的同学,估计也会对这一块有所遗漏。4.4.1 file_get_contents()真的好吗从我最初接触商业项目的开发,就看到项目中会用到fil...

阅读全文>>

0

PHP高级编程-回归原生态-空与非空

第 4 章 回归原生态 就当前而言,PHP仍然是网站建设的主流编程语言之一。一方面,是得益于它自身的简单性,容易学习且快速上手;另一方面,得益于开源社区贡献的各种优秀框架、类库和项目。这些源代码下载到服务器后,简单配置一下,甚至都不需要二次开发就能直接使用,非常方便。但需要注意的是,别人提供、贡献的开源项目是可以减少我们重复开发的成本,并不意味着我们对原生态的PHP就可以置之不理。正好相反,更深入地理解PHP原生态的用法,将能帮助我们从底层、从根本上更透彻地理解和掌握别人封装的类、函数、模块和扩展。也就是说,除了会使用,还不足矣。作为专业的开发人士,我们还应明白为什么会这样,洞明背后微妙的差...

阅读全文>>

0

PHP高级编程-回归原生态-数组排序

4.2 数组排序PHP里的数组实际上是一个有序映射。不管是队列、数组、栈还是字典,在使用PHP编程时,你都可以统一使用PHP的数组类型。这一节,我们只探讨关于PHP数组的排序,因为数组的排序是很多项目都会使用到的。虽然数据库也可以很方便进行排序,但在复杂、动态的业务规则下,更多需要在PHP代码层进行处理。因此加深对PHP数组的理解,对项目开发将大有禆益。4.2.1 一道面试题引发的思考在我当前任职的公司里,有这样一道面试题,关于数组排序的。简化和提炼一下,题目是:请按以下规则,对专辑的歌曲进行排序。 1、按播放次数,从高到低排序。 2、如果播放次数相同,则按收藏人数从高到低排序。 3、如果收藏...

阅读全文>>

0

php应用curl请求去掉header信息

1. 前提在API接口开发中,经常会碰到一个场景,就是请求第三方接口,然而请求回来的接口数据并不是我们期望的数据那样。比如我们请求回来的数据是不希望带header头信息的数据,然而第三方接口返回数据格式偏偏有header头的信息,怎么办呢?下面展示两种做法:$no = "9830106220207"; $appcode = "6e8a1e3ee8fc4ddda7d6cc5bf999d53c"; $host = "https://kuaidi101.market.alicloudapi.com"; $path = "/getExpress"; $method = "GET"; $headers...

阅读全文>>

0

YznCMS1.0.0 后台开发框架

后端基于thinkphp5.1框架,永久免费可商用的后台系统,Git超1000+关注[模块插件清单]名称简介类型  价格  cms内容管理这是一个功能强大的内容管理模块!自定义模块,字段不在话下,支持近二十种类型字段模块免费cms小程序cms自带的小程序,接口都是读取cms的文章,近期推出模块免费会员模块系统必备的会员基础模块!含会员组,会员投稿等强大功能模块免费万能采集简单的采集工具,可以自定义字段入库,网页数据采集和内容管理的神器!模块免费自定义表单这是一个cms必备的表单提交模块!字段都可以任意定义,同样支持近二十种类型字段模块免费友情链接友情链接模块,很常用的必备模块免费消息模块会员与...

阅读全文>>

0

防止用户重复提交表单,后台业务代码重复执行

环境配置:系统:Linux 7.8语言:PHP框架:Laravel 5.8主要技术:JQuery、PHP、Cache问题重现:当需要一个自然月客户只能订购一次产品时,客户重复点击提交按钮重复提交表单导致系统多次创建订单。思路及步骤一上来我认为这个问题很简单,直接在用户单击提交【按钮】之后,直接禁用此按钮,代码如下:(图示代码为公共方法,想给所有具有提交的属性的按钮都加上[submit_btn]类) $(".submit_btn").click(function () {       $(this).att...

阅读全文>>

0

php开发者composer使用看这一篇就够了

composer安装建议全局安装,方便使用方法1:官网下载安装 php -r "readfile('https://getcomposer.org/installer');" | php 方法2:直接下载阿里云镜像文件: https://mirrors.aliyun.com/composer/composer.phar 全局安装: mv composer.phar /usr/local/bin/composercomposer国内镜像 国内访问packagist会比较慢,替换为国内镜像,能大大提高下载速度,国内镜像可以选择阿里云镜像或者phpcomposer.com镜像。阿里云地址: ht...

阅读全文>>

0

ThinkPHP6+Supervisor实现进程常驻消息队列

之前有需要使用tp开发一个消息队列功能,用来异步处理订单,发送一些消息等。因为是使用的是Thinkphp6,消息队列我用的thinkphp官方的think-queue消息队列,结合 supervisor 进程管理使队列进程常驻。记录一下,顺便分享给大家。安装 thinkphp-queuecomposer install thinkphp-queue存储消息环境thinkphp-queue的消息存储环境,可以有多种形式, Redis,Database,Topthink ,Sync这四种驱动。为了速度,我们一般都使用redis,当然你也可以数据库,创建提供的表结构就行了。我们这里使用了Redis,...

阅读全文>>

0

PHP8的注解

PHP8.0增加了注解的支持, 虽然 PHP的注解没用过, 但是咱用过JAVA的注解呀.注解这玩意怎么用? 简单说就下面几步:定义注解类使用注解提取注解到了PHP中, 也基本上换汤不换药.使用定义注解类#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_FUNCTION)] class MyAttribute{ private $value; public function __construct($value){ $this->value = $value; } }这...

阅读全文>>