PHP 8.2: str_split 对空字符串返回空数组
str_split 函数将一个指定的字符串拆分成数组,使每个值都包含给定数量的字节。Mbstring 扩展提供了对应的 mb_str_split 函数,使多字节字符的字符串可以分解成数组。在 PHP 8.2 之前,str_split 函数在碰到空字符串时会错误地返回包含空字符串("")的数组。str_split('') === [""];这一行为没有记入文档...
PHP 8.2: 析取范式 (DNF) 类型
PHP 8.2 引入了对联合类型(PHP 8.0) 和相交类型(PHP8.1)二者联合的类型支持。最通用的情景是声明一个可接受相交类型或 null 的类型(比如,nullable intersection type)。
PHP 8.2 正式发布
2022年12月8日,PHP 8.2 正式发布了。PHP 8.2 是PHP语言现代化旅程中一个重要的里程碑。除了一些重要的新特性和改进之外,PHP 8.2 还通过弃用对类的动态属性支持、特定非最优配置值时发出警告,以及修复一些旧版 PHP 中对数组排序和特定类型字符串转换/编码操作产生影响的行为,来提升语言效率。此次更新带来了许多改进和新特性,诸如:只读类析...
chatGPT 是什么
最近,ChatGPT 一时大热,引得一众人等围观惊叹。它据说,它既能写代码修bug,也能讲故事、说笑话,甚至于帮你写论文。俨然一副上至天文、下至地理,无所不能知、无所不能聊的模样。那么,ChatGPT 究竟是什么呢?简单来说,ChatGPT 是一款人工智能聊天机器人,由 OpenAI 研发发布。短短时间内,就积累了上百万用户。据说,它可能是目前市面上对自然语...
PHP 8.2: Mbstring: Base64、Uuencode、QPrint 和 HTML Entity 编码弃用
PHP 多字节字符串扩展(mbstring) 添加功能,用来操作包含多字节的字符比如中文、Emojis 和其他不能用单字节表示的文字。该扩展支持将其他几种字符集比如 UTF-8/16/32 和 ISO-8859-1 之间的转换。Mbstring 也支持一些编码如 Base64, QuotedPrintable, Uuencode 和 HTML Entitie...
PHP 8.2 特性 - 新增 ini_parse_quantity 函数
PHP INI 指令接受可包含后缀的数据大小,用以指定单位乘数,比如 5M或者 1G。这些后缀在 PHP INI 文件中广泛使用,不过并不是国际标准后缀。 ini_parse_quantity 是在 PHP 8.2 中新加入 PHP 的函数。该函数解析由 PHP INI 值可以识别的任何数据大小(比如 56K,256M,1G) 并以 byte 返回...
在 Laravel 框架中使用 Redis
首先,通过 Composer 安装 predis/predis 包:composer require predis/predis配置: redis的配置文件是:config/database.php'redis' => [ 'client' => 'predis', 'default' =&g...
关于ThinkPHP存在远程代码执行漏洞的风险提示
监测发现,ThinkPHP官方修复了一处远程代码执行漏洞。该漏洞是由于在ThinkPHP开启了多语言功能时,允许未经身份验证的远程攻击者通过构造恶意数据进行远程代码执行攻击,获取服务器最高权限。该漏洞已发现在野利用,目前官方已发布安全版本。风险等级高风险漏洞风险攻击者利用该漏洞可导致任意命令执行影响版本ThinkPHP < V6.0.14ThinkPH...
Elasticsearch 分布式引擎概述
Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集...