PHP 8.5:弃用从自定义输出缓冲区处理程序发布输出
PHP 函数 ob_start 提供了一种方法来启动用户提供的输出缓冲区处理函数,并返回该函数处理过的缓冲区的内容。缓冲区处理函数不应自行发出任何输出,也不允许从处理函数中启动缓冲区。如果用户提供的输出缓冲区处理程序发布自己的输出,则在 PHP 8.5 之前的 PHP 版本中,该输出将被静默忽略。自 PHP 8.5 开始,用户提供的输出缓冲区处理...
PHP 8.5: PHP 致命错误的堆栈跟踪支持
PHP 7.0 中最具影响力的变化之一是,它将几个 PHP 错误条件移动到抛出 Error 异常,而不是触发致命错误。类型错误、语法错误和其他几种类型的错误是现代 PHP 版本中的异常。PHP 还支持设置自定义错误处理程序,因此也可以记录某些错误,如弃用通知、警告和其他通知。然而,PHP 仍然存在某些不可恢复的错误情况,这些情况只是显示错误消息并立即退出(如...
partytown:Web Worker 中运行第三方脚本
在 Web Worker 中运行第三方脚本Partytown 是一个懒加载的库,用于帮助将资源密集型脚本转移到 web worker 中,并脱离主线程。其目的是通过将主线程专用于你自己的代码,并将第三方脚本卸载给 web worker 来帮助加快网站速度。 注意:Partytown 仍然处于 beta 阶段,不能保证在每个场景下都顺利实施。即使网站...
PHP 8.5: 弃用非规范标量类型的强制转换(boolean|double|integer|binary)
PHP 的标量类型强制转换允许标量类型的一些变体。例如,集可以使用 (integer),也可用 (int) 将变量强制转换为整数:$value = '42'; (integer) $value; // int(42) (int) $value; // int(42)PHP 标量类型有如下这些可替代的变体:类型规范类型名备选类型名称Integer(int)(...
TIOBE 编程语言排行榜:2025 年 8 月 | AI 代码助手助力 Python 发展
8 月头条:AI 代码助手进一步推动 Python 发展。上个月,Python 在 TIOBE 指数中达到了有史以来编程语言的最高排名。彼时我们认为 Python 很难有进一步发展空间,但 AI 代码助手让 Python 又向前迈出了一步。根据斯坦福大学(Yegor Denisov-Blanch)最近的研究,当用于流行的编程语言时,微软 Copil...
使用 Laravel Gemini Translator 将你的应用翻译成其他语言
Laravel 的 Gemini AI translator 包提取 Laravel 项目中的翻译键,并使用谷歌的 Gemini AI 代理进行翻译。该软件包生成必要的语言文件,以便快速翻译你的应用。此包通过使用交互式 CLI 命令工作,该命令将扫描你的项目,提示你选择要处理的翻译文件,使用 AI 翻译字符串,然后生成翻译键。使用它提供的 artisan 命...
Symfony AI 组件
Symfony AI 是一套将 AI 功能集成到 PHP 应用中的组件。该包包含几个较低级别和较高级别的组件,以及它们各自的集成包。不过这些 AI 组件目前仍为实验性的,但你可以开始深入了解示例和演示:平台:OpenAI、Anthropic、Azure、Google 等各 AI 平台的统一接口。Agent:用于构建可以与用户交互并执行任务的 AI 代理的框架...
Laravel 运行 migrate 命令的时,错误信息为1071 Specified key was too long的解决办法
Laravel 中运行 php artisan migrate 迁移命令时,报错:“SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes”解决方法:在服务提供者 AppServ...
探索 PHP 中的协程:生成器和纤程
在讨论异步或非阻塞代码时,“协程”这个词经常出现,但它究竟是什么意思呢?在本文中,我们将探讨协程的概念,并了解 PHP 如何通过生成器和纤程来支持它们。无论是构建管道、CLI 工具,还是准备深入研究并发,理解协程都是至关重要的第一步。什么是协程?协程是一个函数。然而,普通函数会从上到下持续运行直至完成,而协程可以自行暂停/挂起并恢复。它每次挂起时都可以返回一...