钉钉机器人消息推送类,实现有用户反馈内容实时推送, 目前只封装了文本类消息, 正式使用构造方法options需改造一下,传入参数 $options = [ 'ding_webhook'=>'',//机器人地址 ]; <?php namespace app\common\library; use GuzzleHttp\Client; u…
垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。 水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。 上图中订单数据达到了4000万,我们也知道mysql单表存储量推荐是百万级,如果不进行处理,mysql单表数据太大,会导致性能变慢。使用方案可以参考数据进行水平拆分。把400…
upstream xxx_http { # Hyperf HTTP Server 的 IP 及 端口 server 127.0.0.1:9501; } upstream xxx_websocket { # Hyperf WebSocket Server 的 IP 及 端口 server 127.0.0.1:9502; } server { list…
继承 EloquentUserProvider <?php namespace App\Providers; use Illuminate\Auth\EloquentUserProvider; use Illuminate\Contracts\Auth\ Authenticatable as UserContract; class ApiEl…
<?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…
1 说几个你所知道的设计模式 单例模式 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接 - 类似DB类 策略模式 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作 - 类似不同用户呈现不同效果 注册模式 提供了在程序中有条理的存放并管…
记录常用的一些方法