适配器模式 vs. 桥接模式
适配器模式和桥接模式带来了许多混淆。本文中,我们将看看它们是什么,有何不同以及哪些相似之处。🔌 适配器模式适配器模式通过使用实现预定义接口的中间类,尝试解决两个(或以上)不兼容类的兼容问题。问题描述假设有个 Feed 用于从多个信息源显示最新主题,比如:Reddit、Hacker News。对于这两个源,它们有两个 API 客户端:RedditA...
PHP 8.4: PHP_ZTS 和 PHP_DEBUG 常量值类型从整型修改为布尔型
PHP_ZTS 和 PHP_DEBUG 是提供当前 PHP 运行时信息的两个全局常量。PHP_ZTS: 说明当前的 PHP 编译是否是线程安全。与 ZEND_THREAD_SAFE 常量是同样的值。PHP_DEBUG: 说明当前的 PHP 编译版本是不是 debug 版本。与ZEND_DEBUG_BUILD 值相同。在 PHP 8.4 之前,这两个常量包含整...
使用 PHP 8.3 提升应用反应速度
PHP 8.3 是 PHP 的最新版本。它有令人兴奋的新功能和性能上的重大改进。通过升级到 8.3,您可以显著提高速度。在本文中,我们将深入探讨 PHP 8.3 如何改变游戏规则。它可以提高应用的性能,
Google Gemini 的 PHP 客户端 API
要求要完成快速指南,请确保你的开发环境满足以下需求:PHP 8.1+设置安装首先,通过 Composer 包管理器安装 Gemini:composer require google-gemini-php/client请确保允许 php-http/discovery composer 插件运行,或者如果你的项目还没有整合 PSR-18 客户端,请手动安装此客户...
PHP 8.4: Opcache: INI 对 JIT 启用方式的更改
PHP 8.0 添加了 JIT 编译支持。默认禁用 JIT,并且有两个切换切换开关,opchache.jit 及 opcache.jit_buffer_size 用来控制 PHP 主要的功能模式以及 JIT 使用的缓冲大小(buffer size)。在 PHP 8.4 之前,其默认的 INI 配置值为:opcache.jit=tracing
PHP 8.4: Curl: CURLOPT_BINARYTRANSFER 弃用
Curl 扩展提供的 CURLOPT_BINARYTRANSFER 常量在 PHP 8.4 中弃用了。该常量自 PHP 5.1.2 起就不起作用了。早就应该弃用并删除这个常量了。任何在 5.1.2 之后的 PHP 版本上运行的 PHP 应用都可以安全地删除 curl_setopt,因为设置此选项一开始没有任何影响。- curl_setopt($ch, CUR...
在 Laravel 中使用 Google 的 Gemini AI
在带有 Gemini PHP 包的 Laravel 程序中开始使用谷歌的 Gemini AI API。这个 Laravel 包是围绕 Gemini PHP 客户端构建的,提供了一个与 API 和 AI 模型交互的 Facade:use Gemini\Laravel\Facades\Gemini; $result = Gemini::geminiPro...
PHP 8.4: Pspell 扩展从 PHP 核心移到 PECL
Pspell 扩展使用 Pspell 或 Aspell 为 PHP 提供拼写检查功能。在过去的几年里,这个扩展的依赖关系没有得到任何更新,Pspell 扩展从 PHP 核心转移到了 PHP 8.4 中的 PECL 扩展。自 PHP8.4 以来,Pspell 扩展不再与 PHP 核心捆绑在一起。可以将 Pspell 安装为 PECL 扩展。根据软件存储库的不同...
PHP 8.4: IMAP 扩展从 PHP 核心移到 PECL
PHP 的 IMAP 扩展提供了使用 IMAP 协议操作邮箱的功能。该扩展所依赖的底层的 C 库自 2018 年开始没有接收到新的更新。IMAP 扩展也出现一些其他问题:缺乏线程安全。PHP-ZTS 编译无法编译此扩展。缺乏 XAUTH 授权支持。POP 功能的 Bug.自 PHP 8.4,IMAP 扩展不再是 PHP 核心的部件,被移到 PECL。IMAP...