单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 为什么要使用单例模式 1、PHP语言本身的局限性 PHP语言是一种解释型的脚本语言,这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存,这和ASP.NET、Java等编译型是不同的,比如在Java中单例会一直存在于整个应用程序的生命周期里,变量是跨页面级的,真正可以做到这个…

2023年01月01日 0条评论 2234点热度 0人点赞 路灯 阅读全文

现在很多人喜欢用md5或md5+salt加密密码存储在数据库中,从技术的角度来说,MD5真的安全,因为MD5是不可逆的,没办法解密,除了撞库这样的方式。关于撞库简单来说就是通过建立大型数据库,将常用的各种句子密码等加密成为密文,并存储在数据库中;然后拿着密文到数据库网站查询,就有可能查到密码。 但在PHP中有更好的密码存储方式:Password Hashing,主要用到了4个函数: //查看哈希值的相关信息 array password_get_info (string $hash) //创建hash密码 stri…

2022年12月30日 0条评论 2802点热度 0人点赞 路灯 阅读全文

在实际开发中,为了提高开发的效率,我们会把常用到的功能封装成方法,这样后期开发需要,拿来即用。 这里分享33个在实际开发中经常需要用到的功能(已封装成方法),分享给到大家。 1、加载js ||css || style const loadRes = function(name, type, fn) { // 加载js || css || style let ref if (type === 'js') { // 外部js ref = document.createElement('sc…

2022年12月29日 0条评论 2319点热度 0人点赞 路灯 阅读全文

1、数组合并 常规写法 利用concat方法来合并数组 const apples = ["红苹果", "绿苹果"]; const fruits = ["西瓜", "草莓", "葡萄"].concat(apples); console.log(fruits); // ['西瓜', '草莓', '葡萄', '红苹果', '绿苹果&#…

2022年12月29日 0条评论 2367点热度 0人点赞 路灯 阅读全文

什么是Base64? Base64编码是用于将二进制转换成对应的文本的技术。本章节就来了解它的编码规则。参考​​RFC-4648​​ Base64编码表: Base64编码表用了64个字符:A-Z、a-z、0-9、+ 、/,刚好是2的6次方,这也是Base64的由来,Base64每个字符用6个比特位来表示。最后还有一个=用作特殊用途,稍后会介绍,所以Base64编码表共有65个字符。 编码规则 首先将二进制数据按每6个比特位为一组编译成一个Base64的编码表中对应的一个字符。解码就是将Base64的字符依次还原回…

2022年12月29日 0条评论 2404点热度 0人点赞 路灯 阅读全文

php支持的伪协议 1 file:// — 访问本地文件系统 2 http:// — 访问 HTTP(s) 网址 3 ftp:// — 访问 FTP(s) URLs 4 php:// — 访问各个输入/输出流(I/O streams) 5 zlib:// — 压缩流 6 data:// — 数据(RFC 2397) 7 glob:// — 查找匹配的文件路径模式 8 phar:// — PHP 归档 9 ssh2:// — Secure Shell 2 10 rar:// — RAR 11 ogg:// — 音频流…

2022年12月27日 0条评论 2619点热度 0人点赞 路灯 阅读全文

一. ADB概述 1. ADB 即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件: 客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 ADB命令来从命令行终端调用客户端。 守护进程:在设备上运行命令。守护进程在每个设备上作为后台进程运行。 服务器:管…

2022年12月27日 0条评论 3742点热度 0人点赞 路灯 阅读全文

<?php // 非常给力的authcode加密函数,Discuz!经典代码(带详解) // 函数authcode($string, $operation, $key, $expiry)中的$string:字符串,明文或密文;$operation:DECODE表示解密,其它表示加密;$key:密匙;$expiry:密文有效期。 function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0…

2022年12月27日 0条评论 2395点热度 0人点赞 路灯 阅读全文

/** * 通过UTC获取精确时间,默认为北京时间 * @param int $timezone * @param int $timestamp * @return bool|false|string */ public function getutctime($timezone = 8, $timestamp = 0) { $fp = fsockopen('time.nist.gov', 13, $err_no, $err_str, 90); $t = fread($fp, 2096); if…

2022年12月27日 0条评论 2101点热度 0人点赞 路灯 阅读全文

/** * 缩略图生成函数,使用GD2 * @param $srcFile * @param $toW * @param $toH * @param string $toFile * @param string $default_ext * @return bool|string */ public function image_resize($srcFile, $toW, $toH, $toFile = "", $default_ext="png") { //error_r…

2022年12月27日 0条评论 2082点热度 0人点赞 路灯 阅读全文