标签: PHP
编程

PHP 没有多继承的原因

216 2024-03-20 09:23:00

多年来,PHP 作为一种语言已经有了很大的发展。从最初由 Rasmus Lerdorf 作为他的业余项目开始的一种简单的函数式脚本语言,到支持面向对象编程功能 PHP,已经走过了漫长的道路。尽管 PHP 在其每一个版本中都在实现和改进面向对象编程的功能,但有一个功能是缺失的,我一直想知道为什么这些年来 PHP 中没有这个功能,即多继承。PHP 不支持多继承有...

详情...
编程

PHP 中使用组合优先于继承的原因

193 2024-03-19 07:58:00

在面向对象编程中,类可以通过两种方式实现多态行为:“继承”和“组合”。继承是一种将对象或类建立在另一个对象或类的基础上并保留类似实现的机制。换句话说,使用继承,类从其父类(无论是直接的还是间接的)继承字段和方法。子类可以覆盖它继承的方法,也可以隐藏它继承的字段或方法。继承在类之间建立了一种“is-a”关系。例如,“汽车就是车辆”。意思是汽车“继承”了汽车的所...

详情...
编程

PHP 8.4: 新增 request_parse_body 函数

225 2024-03-13 16:47:00

PHP自动解析 HTTP POST 请求,以填充 $_POST 和 $_FILES 超级全局变量。然而,使用 PUT 和 PATCH 等方法的其他 HTTP 请求不会自动解析,而是由 PHP 应用来解析请求数据。随着越来越多地使用 HTTP 方法(如 PUT、DELETE 和 PATCH)的 REST API 的流行,一致地解析 HTTP 请求数据非常重要。...

详情...
编程

PHP 基金会:2023 年影响力和透明度报告

257 2024-03-11 23:03:00

2024 年初,PHP 基金会由 9 名志愿者董事会成员、1 名由 JetBrains 赞助的全职运营经理和 10 名兼职/全职开发人员组成,他们为 PHP 语言及其扩展做出了超过一半的贡献。2023年,PHP 基金会收到了来自组织和个人的 $418669 美元捐款。PHP 基金会在 2023 年的主要重点是加强 PHP 核心的维护,该项目位于 php/...

详情...
编程

PHP 8.4 : round() - 无效的取整模式抛出 \ValueError 异常

208 2024-03-10 03:37:00

round() 函数对浮点值取整到最近的整数,或者指定精度的小数。它支持使用额外参数微调取整方法。在 PHP 8.4 之前,传递无效的取整模式参数时,将静默地假定默认使用 PHP_ROUND_HALF_UP 取整模式。在 PHP 8.4 及更高版本中,传递无效的舍入模式会导致 \ValueError 异常,并且不再假定为 PHP_ROUND_HALF_UP。...

详情...
编程

PHP: 数组上的生成器 Generator

253 2024-03-09 13:45:00

我喜欢❤️ PHP 生成器(Generator)。它像高功率数组,当使用正确时,可以保留内存。自从我了解了它之后,我就一直在使用 iterable 类型提示而不是数组。生成器是回调迭代器生成器的是简单函数。但是,在正常函数将返回(return)单个值或者 void 的情况下,生成器可以返回多个结果。要将函数更改为生成器,唯一需要做的就是将 return 替换...

详情...
编程

PHP 8.4: PHP_ZTS 和 PHP_DEBUG 常量值类型从整型修改为布尔型

253 2024-03-01 00:36:00

PHP_ZTS 和 PHP_DEBUG 是提供当前 PHP 运行时信息的两个全局常量。PHP_ZTS: 说明当前的 PHP 编译是否是线程安全。与 ZEND_THREAD_SAFE 常量是同样的值。PHP_DEBUG: 说明当前的 PHP 编译版本是不是 debug 版本。与ZEND_DEBUG_BUILD 值相同。在 PHP 8.4 之前,这两个常量包含整...

详情...
编程

Google Gemini 的 PHP 客户端 API

408 2024-02-29 19:29:00

要求要完成快速指南,请确保你的开发环境满足以下需求:PHP 8.1+设置安装首先,通过 Composer 包管理器安装 Gemini:composer require google-gemini-php/client请确保允许 php-http/discovery composer 插件运行,或者如果你的项目还没有整合 PSR-18 客户端,请手动安装此客户...

详情...
编程

PHP 8.4: Opcache: INI 对 JIT 启用方式的更改

280 2024-02-29 00:19:00

PHP 8.0 添加了 JIT 编译支持。默认禁用 JIT,并且有两个切换切换开关,opchache.jit 及 opcache.jit_buffer_size 用来控制 PHP 主要的功能模式以及 JIT 使用的缓冲大小(buffer size)。在 PHP 8.4 之前,其默认的 INI 配置值为:opcache.jit=tracing

详情...
编程

PHP 中的树和树遍历

326 2024-02-20 20:48:00

我将在本文中介绍树结构。什么是树,如何使用以及何种情况下使用、请注意,这只是一个基本的介绍,而不是整个故事。我甚至可能在某个地方错了,如果你认为我搞错了:请在评论中告诉我,或者给我发私信。🌳 什么是树?要回答这个问题,我们首先要看一下图(Graph)。在图论中,图(Graph)是以某种方式相互关联的数据点(或节点 Node)的(视觉)结构。例如,这种关系可以...

详情...