PHP周刊2026W36 | Laravel AI SDK 0.11可观测、Symfony 8.1.5、Octane并发…
Laravel AI SDK 0.11带来代理运行可观测性,Octane并发与事件溯源拓展Laravel边界;Symfony 8.1.5等维护版和官方LSP发布,WordPress加固、Webhook安全及权限性能实践同步推进。
📖 文章
Laravel AI:用生命周期事件追踪代理运行?
代理运行很少只是一次 API 调用。模型返回工具调用,SDK 执行这些调用,将结果发送回模型,然后不断重复,直到模型完成任务。
双重清理:为什么富文本邮件不能只清理一次?
简而言之,我会在富文本邮件正文保存时进行清理。今天我又增加了渲染时的第二次清理,这并不是过度谨慎,而是因为存在一个执行顺序错误。
突破速度上限:Laravel Octane 并发?
二十多年来,PHP 凭借一种非常具体的架构范式主导 Web:无共享的请求生命周期。当 HTTP 请求到达传统的 Nginx 与 PHP-FPM 技术栈时,PHP 会创建一个完全全新的环境。
Magento 2 商品评论性能:隐藏的 Cron 与 N+1 瓶颈?
商品评论看起来人畜无害:列表中的星级评分、商品页面上的评论列表、用于审核评论的管理后台表格。它究竟有什么可能变慢的地方?
WordPress 安全加固:十步技术检查清单?
WordPress 驱动着 40% 以上的 Web,这也使它成为自动化攻击工具重点攻击的 CMS。大多数入侵并不复杂,通常只是过时的核心或插件版本、薄弱的管理员凭据,或者内置后门的破解插件。下面是一份按优先级排序的加固检查清单。
PHP 与 Laravel 中的批量赋值:用户输入何时变成了超出预期的数据?
没有 SQL 注入,没有 XSS,也没有路径遍历。只是一个合法请求中出现了一个意料之外的字段,突然之间,用户可能正在修改那些本不应该由他们控制的数据。
PHP 中最实用的 5 个数组函数?
本文将介绍每位 PHP 开发者都应该了解的五个最实用数组函数。
🛠 工具
violet/streaming-json-encoder?
PHP 库可以逐片编码 JSON,而不必将整个文档保存在内存中。当大型数据集一次性占用过多内存时,内置的 json_encode? 就会成为负担;而流式处理又带来了对框架和 HTTP 友好集成的需求。读者将了解 Streaming JSON Encoder 的兼容 PSR-7 的流、PHP 5.6 支持、Composer 安装方式、依赖项,以及高效处理大型响应的手动配置选项。
dotswan/filament-map-picker?
在 Filament 应用中通过基于地图的界面轻松选择并获取地理坐标。
dektrium/yii2-user?
Yii2-user 将注册、身份验证和密码恢复打包成一个可复用模块,但该项目已明确停止维护。这造成了一个鲜明的权衡:集中处理常规账户管理代码,可以让每个 Yii2 应用避免重复造轮子;但一个最初处于实验阶段、没有持续维护的模块,也可能留下安全性、兼容性和运维方面尚未解决的问题。读者将获得该模块预期功能、安装与文档路径、特定版本参考、贡献指南以及 MIT 许可的简明概览;而停止维护的警告意味着,在采用之前必须进行尽职调查。
wp-forge/wp-query-builder?
WordPress 数据库查询看起来可能像纠缠在一起的 SQL,但 WP Query Builder 将它们转换为可读、可链式调用的 PHP 方法,同时自动应用表前缀。该项目重新唤醒了一个看似无人维护的查询构建器,但仍需在轻量级 API 与日益复杂的条件、运算符和分组子句之间取得平衡。读者将看到涵盖 Composer 安装、实例专属钩子、列选择、默认和显式运算符、AND/OR 逻辑以及嵌套条件的实际示例,用于构建易维护的 WordPress 查询。
utopia-php/system?
Utopia Framework 提供的 PHP 系统信息库无需依赖,可独立运行于任何项目或框架中。开发者经常需要获取主机详情,却不希望绑定沉重的框架或特定平台集成;而操作系统和 CPU 的差异又让可移植检测出乎意料地繁琐。该库提供 Composer 安装方式和简单 API,可获取操作系统、主机名、架构、环境变量、CPU 架构检查结果及资源指标,并记录 Windows、macOS 和 Linux 的平台特定支持。
erag/laravel-disposable-email?
Laravel 应用可以在临时邮箱影响注册、线索表单或用户流程之前,拦截超过 110,880 个一次性邮箱域名。挑战在于让一次性域名检测保持最新,同时平衡误报、可信域名、子域名、DNS 与欺骗检查,以及运行时性能。开发者可以获得一个零配置软件包,包含智能验证规则、辅助函数与 facade 检查、Blade 集成、自定义黑名单和白名单、缓存、统计信息,以及每日 GitHub Actions 同步功能,并兼容 Laravel 10 至 13。
php-translation/symfony-storage?
PHP 翻译存储适配器让 Symfony 的翻译 writer 和 loader 处理消息持久化,而不强迫项目自行构建集成层。实际挑战在于保持翻译存储与 Symfony 既有工具兼容,同时通过代码风格检查和 PHPStan 分析维持代码质量。读者将了解软件包安装路径、它在 PHP Translation 生态中的作用,以及项目轻量级的测试与文档工作流。
editorconfig-checker/editorconfig-checker?
一个 .editorconfig? 文件就能约束所有文件类型的格式,从而替代大多数 linter 所需的按语言配置迷宫。没有统一检查时,仓库会积累不一致的空白和风格规则,而每个工具只能覆盖代码库的一部分;代价是,广泛覆盖仍需要仔细设置排除项,并理解核心检查器的注意事项。读者将获得 Composer 配置、vendor/bin/ec? 工作流、JSON 配置选项,以及定制分析的实际指导。
chromatic/php-gd-config-check?
用于检查 PHP GD 库中指定格式是否存在及其状态的 Composer 插件。
genealabs/laravel-caffeine?
表单可以打开数小时,却仍能成功提交,即使 Laravel 的会话生命周期通常已经让它过期。Laravel Caffeine 通过轻量级、定期发送的 AJAX “滴水”请求解决了这一矛盾,但它只作用于启用了 CSRF 保护的页面,因此普通页面仍保留正常的超时行为和安全边界。读者将了解安装与配置流程,包括滴水间隔、可选域名、支持的 Laravel 版本,以及在不全局延长会话时间的情况下保持长时间打开的表单可用时需要考虑的实际问题。
📝 简讯
所以你收到了一份安全报告。接下来怎么办??
你维护着一个 PHP 项目。有人可能是 PHP Foundation 的 Volker,也可能是一名独立研究员,刚刚告诉你,你的项目可能存在安全漏洞。你可能感到不知所措,不确定是否应该相信这份报告,或者只是拿不准正确的下一步
Laravel AI SDK 0.11 中的代理运行可观测性?
Laravel AI v0.11.0 为代理运行提供了一个统一的关联 ID,以及一组围绕每次提供商往返和每次工具调用触发的生命周期事件。此前,一个经历五次往返来解析工具调用的运行,看起来和只进行一次调用的运行完全一样;而一个在中途失败的运行
Symfony 8.1.5、7.4.17 与 6.4.44 发布?
Symfony 8.1.5、7.4.17 和 6.4.44 刚刚发布。请阅读 Symfony 升级指南,了解如何升级 Symfony,并使用 SymfonyInsight 升级报告检测项目中需要修改的代码。
2026 年 8 月 17 日至 23 日:Symfony 周报第 1025 期?
本周发布了 Symfony 6.4.44、Symfony 7.4.17 和 Symfony 8.1.5 维护版本。此外,我们推出了 Symfony Language Tools,即官方 Symfony LSP 服务器。最后,我们开始尝试以 issue 优先的方式参与开源贡献。
PHP 内部动态周报|2026 年 8 月 19 日?
本周没有 RFC 进入投票阶段,事实上没有任何内容处于投票阶段,因此这份清单都用于设计工作。新贡献者提出的 array_search_range() 遇到了针对通用惰性数组切片的反提案;一行 ini_get_all() 不一致问题演变成了大小写敏感性争论,而其作者本人
🎙 播客
The Stack Overflow:深入了解 LinkedIn 用于代理式个性化的认知记忆代理?
Ryan 邀请 LinkedIn 首席 AI 研究员 Praveen Bodigutla,讨论他的团队构建的四层记忆系统,以及该系统如何为 LinkedIn 招聘助手提供持久且个性化的状态。
Software Engineering Radio:SE Radio 734——Sathiesh Veera 谈使用 LLM 构建数据保护防线?
GenAI 解决方案架构师 Sathiesh Veera 在 At T 工作,他与主持人 Brijesh Ammanath 讨论使用 LLM 时所需的数据保护防线。核心问题在于,大多数企业 AI 部署中的 LLM 位于云租户之外,这意味着数据会离开公司的边界并且
Developer Tea:降低复杂度为何是资深工程师的标志?
随着你作为工程师不断成长,会发生一件反直觉的事情:你构建的系统变得更简单,而不是更复杂。本期节目探讨资深工程师为何倾向于合并抽象、接受某些风险,并缩小他们需要负责的范围,以及是什么推动了这种转变
Shoptalk Show:深夜特别版!Microlighter、三态争论与快速剪辑视频?
Dave 和 Chris 试图理清他们的 LUTS,弄清楚该使用哪个应用来快速剪辑和发布视频;讨论 Dave 新开发的语法高亮器 microlighter,探讨 web MCP 是否能帮助代理更好地使用 CodePen,以及拒绝的重要性并不亚于你最终交付的内容。
WP Builds:第 481 期——面向 WordPress 用户和 Vimeo 出走者的新视频托管方案?
本期对话聚焦于新上线的视频托管平台 Livid。它被定位为 Vimeo 的有力替代方案,尤其适合那些因 Vimeo 被 Bending Spoons 收购后价格大幅上涨而受到影响的用户。
PHP Architect:PHP 播客 2026.08.20?
答案是 Shirley MacLaine,但问题是什么?RAM 价格上涨了 500%,GitHub 崩溃了八个小时,节目组还弄清楚了如何真正为 PHP 做贡献。眼镜可戴可不戴。
Mostly Technical:第 146 期——做事情并告诉别人?
Ian 和 Aaron 讨论 Aaron 去哥本哈根参加 Laravel Live DK、与 DHH 会面、糟糕的回程之旅、使用 AI 对付 Air Canada 的官僚流程,以及更多内容。
Syntax:Stripe 以 70 亿美元收购 OpenRouter?
Scott 和 CJ 分析 Stripe 以 70 亿美元收购 OpenRouter 的交易、SvelteKit 3 发布候选版,以及他们首次体验 TanStack Charts 的感受。
📰 阅读
超越 CRUD:Laravel 中的事件溯源架构?
绝大多数 Web 应用都建立在 CRUD 范式之上,即创建、读取、更新和删除。如果用户更新收货地址,你就对 users 表执行一条 UPDATE SQL 查询。旧地址会被覆盖、永久销毁,并由新地址取代。
Active 标志陷阱:CakeDC/Users 中未经验证却已登录?
如果你使用 CakeDC/Users 提供电子邮件验证,最终一定会遇到一个插件悄悄把问题交还给你的问题:当某人注册后从未点击验证链接,却尝试登录时,应该发生什么?
从 spatie/laravel-permission 迁移到 Redis:生产环境实践指南?
spatie/laravel-permission 是 Laravel 角色与权限管理的事实标准,对于大多数应用来说,它正是正确选择。本文面向少数特殊情况:你的授权检查已经占据数据库负载中可测量的一部分,或者大规模权限变更不断触发完整的
当 @deprecated 狼来了:让 Shopware 下一次大版本升级更轻松?
当 PHPStan 报告你的扩展调用了一个已弃用方法时,预期的下一步非常明确:找到替代方法并迁移代码。
Laravel 队列任务详解:如何在后台运行耗时任务?
我刚开始构建 Laravel 应用时,最终遇到了一个看似简单却严重影响性能的问题:有些任务需要很长时间才能完成。
Webhook 安全入门:为什么绝不能信任传入的载荷?
Webhook 是现代 Web 生态的连接组织。无论你接收的是 Stripe 的支付确认、通信服务商的消息送达报告,还是 GitHub 的仓库事件,Webhook 都能让你的应用实时响应外部触发器。
往期精选
- PHP周刊2026W35 | PHP 8.6.0 Beta 1发布、Laravel 13.25全局暂停队列、NativePHP v4原生UI、Symfony 8.2密集冲刺
- PHP周刊2026W34 | PHP 8.6弃用投票落定、Laravel 13.25发布、NativePHP v4原生UI、Symfony 8.2合并173 PR
- PHP周刊2026W33 | PHP 8.6 新增 clamp、Laravel 13.20 图像处理、CakePHP 5.4.0 发布、SymfonyCon Warsaw 2026 公布演讲者
- Web前端周刊2026W36 | pnpm 12 Rust 重写、Remix 3 RC、Node.js 26.8.0、htmx 4.0 大版本
- 用 Rust 重写 Bun
- Python周刊2026W36 | Python 3.15候选版、RISC-V获CPython支持、PEP 843、asyncio修复
扫码关注「右耳朵猫AI」

- 点赞
- 收藏
- 关注作者
评论(0)