
PHP
深夜·食堂
技能分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP- 大文件断点续传
在现代网站应用中,上传文件是非常常见的。在任何语言中,通过使用一些工具,都可以实现文件上传的功能。但是,如果处理大文件上传的需求,还是有点麻烦的。假如你此时正在上传一个很大的文件,大约一个小时过去了,进度是 90%。突然断网了或者浏览器崩溃了,上传的程序退出,你要再全部重新来过。真的很不爽,对不对?还有更让人郁闷的是,如果你的网速很慢,那么,无论你重来多少次,你都不可能上传成功。在 PHP 中,我们可以尝试利用 tus 协议的断点续传功能来解决这个问题。什么是 tus?Tus...转载 2021-08-26 10:04:21 · 293 阅读 · 0 评论 -
PHP-依赖注入
1,依赖注入可以有效的减少代码之间的耦合性2,有效分离对象和它所需要的外部资源class Person{ /** * 依赖:Person类依赖obj类 * 注入:Car注入Person * @param $obj */ public function buy($obj) { return $obj->pay(); }}<?phpnamespace di;class Car{..原创 2021-08-24 23:00:07 · 1078 阅读 · 0 评论 -
ThinkPHP-运算符与SQL运算符对照表
原创 2021-08-24 10:13:48 · 141 阅读 · 0 评论 -
PHP-注册树模式
1,注册树模式是通过将实例化对象放到一颗全局的对象树上(池子冲)2,需要用的时候从注册树上(池子中)直接取<?phpclass Register{ /** * 注册树池子,存储对象 * @var null */ protected static $objects = null; /** *将对象挂到树上,将实例化的对象放入池子中 * @param $key * @param $objects原创 2021-08-22 23:12:03 · 394 阅读 · 0 评论 -
PHP - 单例模式
1,一个为静态的变量2,一个为private构造函数3,一个可以访问实例的静态方法class Instance{ static public $instance = null; private function __construct() { } /** * 单例模式 * @return Instance|null */ public static function getInstance() {原创 2021-08-20 23:40:53 · 98 阅读 · 0 评论 -
PHP 根据身份证号识别 - 星座,生肖,性别
class IDCard{ public static function getXingZuo($cid) { // 根据身份证号,自动返回对应的星座 if (!self::isIdCard($cid)) { return ''; } $bir = substr($cid, 10, 4); $month = (int) substr($bir, 0, 2); $day .原创 2021-06-30 14:51:29 · 261 阅读 · 2 评论 -
PHP后端是如何实现JWT认证的
什么是JSON Web Token?JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对对JWT进行签名。直白的讲jwt就是一种用户认证(区别于session、cookie)的解决方案。出现的背景众所周知,在jwt出现之前,我们已经有session、cookie来解决用户登录等转载 2021-05-24 18:24:22 · 523 阅读 · 0 评论 -
php观察者模式也是挺好用,经常用的?
设计模式,是每个程序员必须知道,必须学习的知识,虽然不算是基础,但是你必须要懂得。介绍你在编程中可能会遇到过,有时一个对象的状态改变会影响很多类的行为,比较典型的就是在购买流程中,购买成功后会影响库存、销量、会通知发货、有的还需要发送短信。购买这个行为在发生变化时需要同时发生其他行为,但是如果写在一起,一旦流程发生变化,改起来会比较麻烦,将这些行为写在一起的耦合度也太高,观察者模式可以解决这个问题,通过观察者和状态主题互相注册的方式,使主体在发生变化时能够通知观察者,两者组合在一起,..转载 2021-05-21 10:19:39 · 186 阅读 · 0 评论 -
PHP与Go语言之间是如何通讯的?
在工作中遇到这么一个场景,php项目中需要使用一个第三方的功能,而恰好有一个用Golang写好的类库。那么问题就来了,要如何实现不同语言之间的通信呢?下面就来一起看看吧。常规的方案1、 用Golang写一个http/TCP服务,php通过http/TCP与Golang通信2、将Golang经过较多封装,做为php扩展。3、PHP通过系统命令,调取Golang的可执行文件存在的问题1、http请求,网络I/O将会消耗大量时间2、需要封装大量代码3、PHP每调取一次...转载 2021-05-21 10:02:25 · 779 阅读 · 0 评论 -
3年的PHP,该学Go吗?
身边很多朋友都从PHP 转到了Go 语言,也还有一些正在观望Go发展趋势的。偶然看到有人说, Go 语言目前的火爆可能就是昙花一现而已。这个观点我当然是不认同的。如果你对 Go 的发展趋势还不明朗的话,不妨仔细看看我后面说的。在 TIOBE 近一两年的榜单中,Go 语言在前 20 位中,总体呈现稳中有升的趋势,2020年 3 月又一次冲进前十。而在国内,没有哪个大厂不做 Kubernetes,微服务和Serverless,这些正是云原生语言 Go 的主场。目前大热的区块链,以...转载 2021-05-21 09:54:56 · 426 阅读 · 0 评论 -
用户互粉与取关功能,你用php如何做到的?
最近在写api的时候要实现一个相互关注的功能,发现如果用mysql做查询不是很理想,所以用redis来实现这个功能,网上一搜有很多实现的方法,下面主要来看看关注与取关是如何实现的数据库表数据库的代码,通过保存用户的id和关注对象的id以及关注状态来判断用户的关注列。表和粉丝列表,通过联查获取用户的基本信息,入头像、名称。'DROPTABLEIFEXISTS`shc_sns`;CREATETABLE`shc_sns`(`sns_id`int(11)NOTN...转载 2021-05-21 09:24:10 · 423 阅读 · 0 评论 -
PHP-依赖注入
1,依赖注入主要用来减少代码间的耦合2,有效分离对象和它所需的外部资源<?phpnamespace di;class Person{ public function buy($obj) { /** * 依赖:Pserson类依赖 Car类 * 注入: */ $bmw = new $obj; return $bmw->pay(); }}.原创 2021-05-17 10:23:51 · 195 阅读 · 0 评论 -
PHP-注册树模式
1.注册树模式通过将对象实例注册到到一个全局的对象树上2.需要用的时候从对象树上采摘下来使用使用场景:将一些常用的基础类库,比较零散的类库,通过注册树模式挂载到注册树上面,在使用的时候直接获取,便于管理例如:DB,cache类库注册树类:Register<?phpclass Register{ /** * 注册树池子 * 将实例对象挂载到 $objects * @var null */ protected static原创 2021-05-10 10:52:48 · 256 阅读 · 0 评论 -
PHP-单例模式
1.拥有一个构造函数,并且为private2.拥有一个静态成员变量用来保存类的实例3.拥有一个访问这个实例的静态方法<?phpclass Single{ //静态成员变量 static public $instance; //private属性的构造函数 private function __construct() { echo '12312'; } //访问这个实例的静态方法 public sta原创 2021-05-10 10:03:13 · 100 阅读 · 0 评论 -
PHP无限极分类
//$data所有分类集合 $items = []; foreach ($data as $v){ $items[$v['category_id']] = $v; } $tree =[]; foreach ($items as $id => $item){ if (isset($items[$item['pid']])){ $items[...原创 2021-04-25 16:24:53 · 97 阅读 · 0 评论 -
限流方案(PHP)
限流方案有很多种,常用的有在业务层来做;nginx层来做1、业务层的话主要是 php+redis2、nginx层主要是 nginx+lua+redis来做,这个性能要高于上面那个。原创 2021-03-18 11:02:22 · 587 阅读 · 0 评论 -
服务器安全怎么做
关停ftp,宝塔,文件权限锁定重要文件,例如:项目配置文件,入口文件禁止 root 用户直接登录 每个需要使用的人 创建个人账密码的安全级别进行提升系统加固 关停一切不必要的服务 减少被攻击的入口卸载 gcc wget curl 等工具包启动防火墙 关闭不必要的端口对 代码定期 进行md5 验证 防篡改...原创 2021-03-16 11:54:28 · 114 阅读 · 0 评论 -
composer 报错解决:[InvalidArgumentException] Could not find package
造成原因:因为之前使用镜像的问题造成的解决方法:解除镜像即可composer config -g --unset repos.packagist原创 2020-12-22 16:45:23 · 6684 阅读 · 9 评论 -
PHP城市按字母排序
/** * 站点选择省份- wikstone * return stdclass */ public function getHomeSelectArea() { $areaModel = new \app\common\model\Area(); $areaList = $areaModel->getAreaList(); array_shift($areaList); //删除全..原创 2020-10-24 10:32:19 · 527 阅读 · 0 评论 -
微信小程序发放红包+领取红包(PHP)
发放红包文档:https://pay.weixin.qq.com/wiki/doc/api/tools/miniprogram_hb.php?chapter=13_9&index=2领取红包文档:https://pay.weixin.qq.com/wiki/doc/api/tools/miniprogram_hb.php?chapter=13_10&index=3class Index{ public function index(Request $request=nu.原创 2020-09-27 16:55:25 · 3239 阅读 · 0 评论 -
PhpStorm 2020版本 配置 Xdebug + 官方配置文档
1.查看phpinfo();查看源代码,复制粘贴到https://xdebug.org/wizard2,根据结果,将dll文件放到对应位置,在复制红框内容粘贴到,对应版本php.ini中zend_extension = D:\phpstudy_pro\Extensions\php\php7.1.9nts\ext\php_xdebug-2.9.6-7.1-vc14-nts-x86_64.dllxdebug.remote_enable = Onxdebug.remote_host = 1...原创 2020-07-03 16:00:32 · 4877 阅读 · 0 评论 -
本地电脑搭建测试项目
1,进入apache/extra/httpd-vhosts.conf; 赋值httpd-vhosts.conf名字2,到httpd.conf搜索:httpd-vhosts.conf3,到httpd.conf搜索:Listen 新正价一行Listen4,到httpd-vhosts.conf5,重启apache即客生效...原创 2018-04-04 18:07:48 · 290 阅读 · 0 评论 -
PHP类里定义属性
原创 2018-04-04 11:56:04 · 2576 阅读 · 0 评论