在开发中,我们可能会遇到需要生成用户唯一的邀请码,来做一些邀请活动,接下来,我们思考如何生成唯一的邀请码,且可以根据邀请码获取到用户id。首先,我们可以考虑使用用户user_id 来生成邀请码,并生成...
使用PHP工厂模式实现阿里云通信短信的发送(ThinkPHP5)
在开发中,我们经常遇到手机号的验证,比如注册需要短信验证码,订单的处理需要短信通知用户等等,接下来,我们自己封装阿里云通信短信的发送。首先,我们定义一个接口类,用来约束短信发送的一些必要方法,如发送(...

解决ThinkPHP5不能执行批量Sql的问题
在开发过程中,我们可能遇到大批量的数据需要修改的功能,如果一条条修改,性能十分低下,因此,我们考虑,是否可以批量执行sql语句呢?在ThinkPHP5由于使用的PDO的 execute方法,由于PDO...
使用shell实现Excel表格导出功能
在Web项目中,我们经常会遇到Excel表格导出的功能,对于一些数据实时性要求不高的、逻辑相对简单的导出,是否可用通过shell脚本的方式来进行导出,从而降低开发成本呢?我们都知道,CSV格式可以用E...
PHP获取昨天、今天、本周、上周、本月、上月
在开发中,我们往往需要对数据进行统计,而统计离不开时间维度的搜索,因此我们可以建立一个公共的时间类库来生成相关的时间范围。<?php class StatisticsDate { &n...
使用Shell脚本定时备份远程数据库数据
在项目后,我们需要对正式的数据进行固定的备份,用于数据库灾备或者数据分析等。接下来,我们来介绍如何使用shell 备份数据库:#!/bin/bash #保存备份个数,备份31天数据 expire_da...

利用PhpStorm 实现PHP远程开发
在之前使用xhsell, xftp 连接 WMware 中的 centos (利用NAT模式) 实现互通 和 PHP 内网开发环境的搭建部署(IP部署、域名部署)中,我们介绍如何使用xshe...
PHP 利用反射(ReflectionClass)调用其他类的方法
在相对复杂的项目中,我们可以利用分层来降低代码的耦合,并封装一些公用的方法,加快我们的开发速度。因此,在实际开发中,可以将代码分为: 控制器层、服务层、逻辑层、模型层等等.... 服务层: ...

ThinkPHP5 修改日志格式(按模块分割日志)
日志,是我们分析代码和调试bug的好助手。在Thinkphp5 中,日志内的记录可以说是十分详细,但是所有的的日志都集中一个文件内,让我们很难准确定位到问题。因此我们尝试将Thinkphp5 的日志按...
centos7中使用rsync和inotify同步文件(代码)
最近公司项目要部署负载均衡,负载均衡后,由于代码分布在不同的服务器上,一台一台服务器部署是不现实的。经过调研下,采用centos 的 rsync 传输文件和 inotify 监测目录下文件的变动。一、...