VSCode Snippets 设置PHP代码块
{ "pubf":{ "prefix": "pubf", "body": [ "public function $1(){", "", "}" ], "description": "定义公共方法" }, "prif":{ "prefix": "prif", "body": [ "private function $1(){", ""…
分布式锁的常见实现思路
一. 概述 1.1 引言 当前参与的项目中会遇到一些线程安全问题,由于业务是多节点部署的,这个时候我们需要分布式锁来保证线程安全问题,所以这里学习总结了几种分布式锁的实现思路。 分布式的CAP理论告诉我们任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolera…
签名验证类
<?php declare (strict_types = 1); namespace app\middleware; use think\exception\ValidateException; use think\facade\Validate; class SignCheck { // sign请求验证规则 public static …
图片上传类
<?php namespace app\service; use think\exception\ValidateException; use think\facade\Filesystem; class Upload { public $error = ''; /** * 保存单图 * * @param $file * @param str…
短信服务类
<?php namespace app\service; use app\model\SmsLog; class Sms { public $error = ''; private $template = [ // 充值通过 'recharge_pass' => ['template'=>'尊敬的尾号${phone}用户,您于…
邮件服务类
<?php namespace app\service; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use think\facade\Config; class Email { public $error; public function send($em…
RSS订阅示例
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/11/29 0029 * Time: 16:39 */ namespace app\index\controller; use app\common\controller\Rss; use app\commo…
PayPal支付demo
执行命令加载composer composer require "paypal/rest-api-sdk-php" 页面demo {extend name="layout/user_main" /} {block name="content"} <div class="pad_lr12 " style="margin-top: 5rem;"&…
Bat命令学习
一、基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4.每个编写好的批处理文件都相当于一个DOS的外部命…
RabbitMQ与PHP
你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎? 如果是,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用。 我们先来看看什么是RabbitMQ AMQP ,即Advanced…