- 博客(47)
- 资源 (3)
- 收藏
- 关注
原创 封装类似thinkphp连贯操作数据库的Db类,单例模式,完全遵守tp写法的三方类,使用超级简单!
本人在做客服聊天系统的时候,用的原声的php编写,操作数据库的时候找了很久没有找到一个合适的链式的Db类,即便有但是没有用到单例模式,老是实例化耗资源,后来便萌生了自己编写一个好用的Db类,于是开始了封装,mysql封装类是根据thinkphp的Db写法编写,使用方法跟tp一样,但是没有tp内部人员那么牛,只是封装了常用的操作,不过个人觉得此类的扩展性很好,易读,可以自行在类里添加功能<...
2019-10-27 13:49:24 1155
原创 laravel框架基础建设:将所有异常进行归口处理(统一封装异常处理的操作)
laravel框架基础建设:将所有异常进行归口处理并返回结构统一的json对象
2022-09-19 15:14:03 600
原创 linux挂载/卸载windows共享文件夹
1.需要挂载的windows目录文件2.windows共享文件地址:\192.169.66.224\天佑测试\shared开始挂载(挂载到:linux的/www/wwwroot/shared下),挂载命令:mount -t cifs -o username=测试共享,password=wbwx666,vers=3.0,sec=ntlmssp,dir_mode=0777,file_mode=0777 //192.169.66.224/天佑测试/shared /www/wwwroot/shared ,注
2022-04-24 10:15:02 1589
原创 解决php使用ZipArchive解压时中文乱码问题(纯php,绕开ZipArchive)
解决php使用ZipArchive解压时中文乱码问题使用php自带的ZipArchive来解压带中文文件名压缩包时会造成乱码,现象如下:网上查阅基本上给出的答案大同小异,自己照着同样的方法试了都不能解决,下图是网上给出的方案:经过摸索终于找到了解决方案,那就是弃用ZipArchive,选择其他的途径,经过比较我选择了“PhpZip”,优点是:纯php(不需要扩展和类),下面介绍安装方法:composer安装:composer require nelexa/zip如果选择版本的话:com
2022-03-03 16:17:08 1256
原创 组件化模块化建站系统,用户无需懂程序,像搭积木一样就能构建自己的网站!
一年多没有更新自己的博客了,其实早在两年前就萌生了自己做一套方便做网站的工具,因为这套工具的核心是组件,所以停更了博客,专注组件的制作,目前整个建站的工具已经开发完毕,在这里简单介绍下使用方法!这个工具完全面向非开发人员制作网站的saas平台,建站的动作就 只有1.创建页面2.选择模块组件3.保存网站1.初始页面2.点击左下角按钮(操作台)3.网站是由很多页面组成的,所以现在您先需要创建一个页面4.同时每个页面包含若干个组件模块,这一些组件模块都已经开发并且已经分好类别了..
2021-10-25 16:05:10 1328
原创 rsa前端加密,后端解密使用过程
RSA 是一种非对称加密算法,简单概括,就是加密和解密时使用不同的密钥进行。常用情况在用户进行登录,敏感字段如密码,在传输过程往往不希望明文传输,所以需要用到类似于rsa这种非对称加密进行处理。1.想要使用RSA,需要得到一对公私密钥,网上有很多在线生成的,如:http://web.chacuo.net/netrsakeypair2.使用示例如下: 前端:<...
2020-04-13 18:08:39 791
原创 swoole 数据库长连接的 重连问题(mysql经常断开),导致过段时间查不出数据
最近用swoole服务,碰到了一个非常奇怪的问题(本人用了一套自己封装的mysql操作类,刚启动,数据库操作一切正常,但是每次过了一个晚上再运行的时候老是出现数据库查不出的情况),刚开始怀疑是不是自己封装的类有问题,单经过排查并不是,经过查阅资料,原来是因为mysql服务有一个设置参数(wait_timeout),这个参数默认值是八个小时,连接超过八个小时以后,mysql会自动关闭连接服务。短连接...
2020-03-17 14:05:49 958
原创 php获得目录下的所有文件路径(递归),复制到指定的目录下面并且赋予相关权限
附代码://获得目录下的所有文件路径并复制到指定的目录下面($old_dir:目标文件目录 $new_dir:需要复制到的文件目录,$quanxian:设置权限) private function copy_to_file($old_dir,$new_dir,$quanxian=0755){ if(!is_dir($new_dir)){//判断有没有目录,没有则创建 ...
2020-03-04 01:03:41 496
原创 thinkphp5框架中获得项目目录的上一级目录
//获得项目目录的上一级目录 private function xiangmu_mulu(){ $mulu_arr = explode(DS, THINK_PATH); $arr_count = count($mulu_arr); $arr = []; for($i=0;$i<$arr_count;$i++){ if($i <...
2020-03-04 00:56:35 900
原创 PHP将MySQL数据导出为EXCEL(CSV格式),简单封装版
//mysql导入csv格式文件函数file_name:demo,csv(string) sql_data:二维数组(array) field:筛选字段(array) field_deal:特殊字段处理(array)//['add_time'=>'time','up_time'=>'strtotime'] public function mysql_to_csv...
2020-02-25 09:57:20 644
原创 php获得当月的节假日函数(包含周末,年度节假日)
根据下单日期,获得最早可预约时间(可预约时间可以根据需求调整)//测试 public function jisuan_riqi(){ $create_time = '2020-04-09';//下单时间 $jiejia_date = ['2019-12-31'=>2,'2020-01-23'=>8,'2020-04-03'=>4,'2...
2020-01-07 13:21:15 1319
原创 Thinkphp6.0 使用视图,需要安装安装think-template依赖库,否则报错:Driver [Think] not supported.
视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)该扩展跟tp6安装多应用扩展一样,需要安装think-templ...
2019-12-17 16:26:35 4827
原创 Thinkphp6.0 多应用安装说明(think-multi-app)扩展
ThinkPHP今年更细了全新的版本6,整个结构较thinkphp5有了很大的变化,从6的版本以后,官网将不再提供下载,需要composer或者github。其中框架需要用到多应用模块的时候,并不能像tp5那样直接创建一个模块即可,需要composer安装对应的think-multi-app扩展才能够使用。在“尝鲜”的同时,记录了我安装扩展时遇到的坑。安装thinkphp6.0框架(compo...
2019-12-17 11:31:08 7486 5
原创 php重拾设计模式(二)之工厂模式
背景:简单工厂虽然简单,但是非常友好地帮助我们实现了组件的封装,然后让组件外部能真正面向接口编程,比如支付接口的时候,未来可能对应不同的支付网关:支付宝、财付通、网银在线等。为了方便未来扩展,设计成工厂模式。定一个专门生产网关接口的工厂,做成接口形式,让所有的子类都要实现它的接口。以后加一个支付方式,要使用哪一种支付方式,改变一下参数即可示例:<?php/***php设计模式...
2019-11-29 17:34:40 112
原创 php重拾设计模式(一)之单例模式
背景:普通情况下,当你碰到经常使用的类或者方式时,使用一次就实例化一下,如果运行一个php文件的时候,只调用一次这个方法可能看不出啥差别,但是多次调用的时候,还每一次去实例化,是不是就不太好了呢(每一次实例化是需要消耗资源的)。如果针对后面的情况下,可以通过什么模式,创建唯一的对象,这样是不是省去很多不必要的开销呢!场景:程序应用中,比如连接数据库并进行操作的时候,刚好就是我们说的这个情况,如...
2019-11-29 15:45:28 99
原创 php封装类,phpqrcode生成二维码并保存到服务器
以前也用phpqrcode生成二维码,但是并没有将这个功能进行过封装,因此每次用的时候又要需要重新看文档,重复写一遍,后来觉得太麻烦,为何不将这一些常用的类进行封装,以后用的时候只要关注自身的业务逻辑不挺好吗!我是基于tp5编写的扩展类,因此如果你也是用这个框架,可以直接将扩展类放在extend目录下即可,存放目录:2.引用phpqrcode类,这个类你可以下载:https://s...
2019-11-27 18:58:27 1973
原创 swoole运行的时候提示端口被占用问题
1. 当你运行swoole的时候,发现端口被占用,可检查websocket是否设置了守护进程。2. 你可以查看(netstat -anp | grep 9503)这个端口号的pid(我的代码监听的端口是9503),得到PID3. 杀死该进程4. 你在运行一下swoole,就可以了...
2019-11-20 14:23:00 1118 1
mytp6多应用模块.zip
2019-12-17
封装类似thinkphp连贯操作数据库的Db类,单例模式,完全遵守tp写法的三方类,使用超级简单!
2019-10-31
阿里云oss的sdk(放在tp5的vendor目录下).zip
2019-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人