编程

PHP: 数组上的生成器 Generator

230 2024-03-09 13:45:00

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

详情...
编程

Window.sessionStorage 介绍

499 2024-03-08 01:08:00

sessionStorage 属性允许你访问一个,对应当前源的 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页...

详情...
编程

组合根(Composition Root)

205 2024-03-07 19:58:00

构造函数注入模式易于理解,直到出现后续问题:我们该在哪里组合对象图?很容易理解,每个类都应通过其构造函数来要求其依赖关系,但这将编写具有依赖关系的类的责任推给了第三方。那应该在哪里?在我看来,大多数人都渴望尽早组合,但正...

详情...
编程

在 Filament 中使用 Apex Chart 插件创建优美图表

223 2024-03-06 22:47:00

Leandro Ferreira 的 Filament Apex Charts 插件将流行的 Apex Chart 库带到你的 Laravel 应用中。该插件使用与 Apex Chart 库相同的 API,因此可以使用官方文档作为配置参考,在 Filament 中创建图表,就像在 JS 库中一样。该软件包还支持过滤 widget 数据、实时更新(轮询)、延迟...

详情...
编程

PHP 8.4: round() 函数新增模式

220 2024-03-06 00:26:00

round() 函数将浮点值四舍五入到最近的整数或者指定精度的小数。它支持多种四舍五入模式,而 PHP 8.4 添加了 4 种新的四舍五入方法 round(3.14, precision: 0, mode: PHP_ROUND_HALF_UP); // 3.0 round(3.14, precision: 1, mode: PHP_ROUND_HALF_UP)...

详情...
编程

适配器模式 vs. 桥接模式

222 2024-03-04 23:34:00

适配器模式和桥接模式带来了许多混淆。本文中,我们将看看它们是什么,有何不同以及哪些相似之处。🔌 适配器模式适配器模式通过使用实现预定义接口的中间类,尝试解决两个(或以上)不兼容类的兼容问题。问题描述假设有个 Feed 用于从多个信息源显示最新主题,比如:Reddit、Hacker News。对于这两个源,它们有两个 API 客户端:RedditA...

详情...
编程

设计模式之状态(State)模式

246 2024-03-02 01:14:00

意图状态(State)模式是一种行为设计模式,允许对象在内部状态改变时修改器对象行为。

详情...
编程

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

233 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 之前,这两个常量包含整...

详情...
编程

使用 PHP 8.3 提升应用反应速度

279 2024-02-29 21:41:00

PHP 8.3 是 PHP 的最新版本。它有令人兴奋的新功能和性能上的重大改进。通过升级到 8.3,您可以显著提高速度。在本文中,我们将深入探讨 PHP 8.3 如何改变游戏规则。它可以提高应用的性能,

详情...
编程

Google Gemini 的 PHP 客户端 API

380 2024-02-29 19:29:00

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

详情...