当前位置: 首页 > news >正文

PHP技术周刊 2026年第17周

阅读原文: https://mp.weixin.qq.com/s/Pyk64dBRU7dRXl7_KGSbvQ

本周焦点:PHP 8.5 新特性深入解析、PHP Foundation 社区战略启动、Composer 修复命令注入漏洞、Spatie 编码规范开源为 AI Skills、Laravel 查询性能与测试实践探讨。

📖 文章

为什么需要投影——你的第一个读模型

事件溯源为你提供了系统中所有事件历史的完整记录,但它并没有提供查询这些数据的方法……

让你的 Laravel 测试变得毫无意义的常见错误

Laravel 测试刚开始感觉很直观——写几个测试,运行 php artisan test,看到绿色输出就继续了。但真相并不那么美好……

Twig 3.24.0 中的高级模板模式

本文将摒弃向视图传递非结构化数组的过时做法,转而利用 PHP 8.x Attribute 特性实现更先进的模板模式……

我研究了 etcd 代码库——它改变了我写 PHP 的方式

有一条常见建议:想写出更好的代码?去读好代码。听起来显而易见,却鲜有人践行。

PHP 与遗留代码:AI 时代的迁移与重构生存策略

当前市场上充斥着各种神经网络驱动的代码生成和优化工具,这些工具在代码……方面表现出色

你的 Laravel 应用可能因查询形态而慢,而非 Eloquent 本身

大多数 Laravel Eloquent 查询瓶颈并非 Eloquent 本身慢,而是 Eloquent 让昂贵的数据库操作变得……

🛠 工具

helhum/typo3-console

TYPO3 CMS 的可靠且强大的命令行界面。

yosymfony/resource-watcher

基于 Symfony Finder 的简单资源监视器。

buggregator/trap

简单而强大的 PHP 应用调试工具。

livewire/blaze

通过将 Blade 组件折叠到父模板中来优化其性能的工具。

matthiasnoback/symfony-config-test

用于测试与 Symfony Config Component 相关的用户类的库。

simplesamlphp/xml-common

包含处理 XML 结构的类和工具的库。

patrickschur/language-detection

PHP 语言检测库,从给定文本字符串中检测语言。

hammerstone/sidecar

Laravel 包,用于在主应用旁部署 Lambda 函数。

shipmonk/phpstan-baseline-per-identifier

将 PHPStan baseline 拆分为多个文件,每个错误标识符一个。同时支持 neon baseline 和 PHP baseline。

creativeorange/gravatar

Laravel Gravatar 包,用于获取 Gravatar 图片 URL 或检查图片是否存在。

📝 简讯

将社区反馈融入 PHP Foundation 战略(第一部分)

朋友们,我们有太多要聊的。我加入 PHP Foundation 已有几周,很多人问我的愿景和目标……

Spatie 将编码规范开源为 AI Skills

Spatie 团队通过 spatie/guidelines-skills 将内部编码规范开源为可复用的 AI Skills。Skills 是可复用的指令……

laravel-pdf 2.6.0 支持直接将 PDF 附加到 Mailable

Spatie 的 laravel-pdf v2.6.0 为 PdfBuilder 添加了 Attachable 契约支持,可将生成的 PDF 直接传给 mailable 的 attach() 方法……

Composer 2.9.6 修复两个 Perforce 命令注入漏洞

Composer 发布 2.9.6 和 2.2.27 LTS 版本,修复 Perforce VCS 驱动中的两个命令注入漏洞:CVE-2026-40261 和 CVE-……

2026年4月13–19日 Symfony 一周回顾 #1007

本周 Symfony UX 发布了 2.35 维护版本和新 3.0 主版本,移除了所有废弃特性并更新了 PHP ……

SymfonyDay Montreal 2026 议程公布!

期待已久的时刻终于到来。经过数周的提案评审,我们很高兴宣布官方议程……

🎙 播客

Laravel News:Rust 语言服务器、JSON Alexander 与 Cloud CLI

Jake 和 Michael 讨论了最新的 Laravel 发布、教程和社区动态。

The Stack Overflow:我们仍然需要开发者社区

Ryan 邀请 Major League Hacking 联合创始人兼 CEO Mike Swift 聊聊对开发者社区的持续需求……

Software Engineering Radio 716:Martin Kleppmann 谈 Local-First 软件

剑桥大学副教授、《Designing Data-Intensive Applications》作者 Martin Kleppmann 深入探讨……

Shoptalk Show 711:Oh My Zsh 从何而来?以及 2026 年使用 Rails

Oh My Zsh 维护者 Robby Russell 做客节目,聊聊好 Zsh 插件的标准和 Oh My Zsh 插件……

WP Builds 464:为什么 Brian Gardner 押注 Block Themes

Nathan 采访 Brian Gardner,谈论他在 WordPress 主题领域的先驱工作、Genesis Framework 的兴衰与影响……

PHP Architect 第22期:Sara Golemon 谈 Git Worktrees

Sara Golemon 再次做客节目(上次是第2期),深入探讨 Git Worktrees 这一强大但鲜少使用的 Git 特性……

Mostly Technical 128:LaraProm

Ian 和 Aaron 讨论 Solo 终于就绪——其 MCP 能力为何吸引人,Laracon US 上的 LaraProm,以及 Ian 的困境……

Syntax:评审和吐槽你的项目

Scott 和 Wes 深入审查一批社区提交的项目,从 JSON 工具、CSS 编辑器到 AI 代理、视图过渡等应有尽有……

📰 阅读

对 Spatie guidelines agent skills 的个人看法

我在 Laravel-news 上看到关于 Spatie guidelines 的帖子。别人的规范总是学习新东西的机会,我想……

Laravel belongsTo 与 belongsToMany:掌握从属与多对多关系

在上一篇关于 hasMany 的文章中,我们从父级视角看了 Chef 拥有多个 Recipe 的关系。但关系是双向的……

为什么 100k RPS 会压垮 PHP 而非 Nginx

单台 PHP 服务器上跑 100k RPS。有人称之为高负载,PHP 则称之为最后一次请求。来看数学分析。

2026 年请停止使用这些糟糕的 PHP 实践

一位资深开发者坦诚分享那些正在悄悄毁掉你代码库的 PHP 习惯,以及应该怎么做。

容器化 Moodle(第二部分):构建镜像与容器

Docker 需要适应过程,本文将进行一些基础操作来建立信心。

Breeze 之外:值得了解的社区 Laravel 启动套件

Laravel 官方启动套件 Breeze、Jetstream 等都不错,文档完善、维护良好。但社区……

PHP 8.5:深入解析新特性与 RFC

本文不是泛泛概述,而是以更深入、更技术的视角审视即将到来的变更,附带实际代码示例和分析……

PHP 依赖注入:Laravel 的魔法 vs Symfony 的显式

使用第三方天气 API 集成为例,实际对比两种依赖管理理念的差异。


——微信「右耳朵猫AI」

http://www.zskr.cn/news/1408276.html

相关文章:

  • 大模型入门必看:小白程序员转岗AI Agent的完整学习路径,速收藏
  • 034、实例分割重叠粘连难以区分?Mask R-CNN 输出后处理与轮廓精修方案
  • 告别默认安装:用RStudio 1.3.959 + R 3.0.1复现经典数据分析环境
  • Claude智能体API成本优化:从架构设计到监控的实战指南
  • Go测试工具:从单元测试到集成测试
  • 分数阶Sigma-Delta调制器设计与实现【附代码】
  • 【数据挖掘实战】从二元变量到相似度矩阵:Jaccard系数与简单匹配系数的场景化选择指南
  • 面向医疗诊断 Agent 的 Harness 危急值优先通道
  • 光伏CF-DAB转换器效率优化:最小RMS电流与ZVS的协同控制策略
  • 全双工大规模MIMO中联合波束成形与天线选择的自干扰抑制技术
  • 保姆级教程:用ROS和MAVROS在Gazebo中实现PX4无人机Offboard模式起飞(附完整代码)
  • CentOS 7从VMWare搬到Hyper-V后卡在dracut?手把手教你修复硬盘驱动问题
  • 卡梅德生物技术快报|镍柱纯化蛋白的原理:原核表达实操:融合蛋白构建与镍柱纯化蛋白的原理落地工艺
  • 创业团队如何建立技术品牌
  • 【会议征稿通知 | 南开大学主办 | IEEE出版 | EI 、Scopus稳定检索】第七届IEEE人工智能与机电自动化国际学术会议(IEEE-AIEA 2026)
  • 起伏地形下车式机器人编队控制及路径规划技术【附代码】
  • 我天,SpringBoot已沦为老二。。
  • 每年写1000多篇文章,维护962个开源项目,他成了AI技术圈顶流!
  • Ubuntu 18.04卡在GNOME登录界面?别慌,三步教你用命令行‘抢救’系统并彻底解决磁盘爆满
  • SciencePlots安装避坑指南:从Anaconda环境到手动配置的完整实践
  • 告别手动输入密码!用Linux Expect脚本批量管理服务器,5分钟搞定SSH免密登录
  • 从化区搬家公司电话 理赔流程拆解:普通人一看就懂 - 从来都是英雄出少年
  • Unity WebRequest请求HTTPS总报证书错误?手把手教你用CertificateHandler解决Cert verify failed
  • 从三角网格到完美四边形:QRemeshify让你的Blender模型重获新生 [特殊字符]
  • 广州从化区搬家公司推荐 办公室搬迁流程混乱实用维权指南 - 从来都是英雄出少年
  • 2026 全球主流 GEO 优化服务商综合实力盘点 - GEO优化
  • QGIS新手必看:5种添加图层的方法,哪种最快?(附快捷键大全)
  • 告别安装失败!手把手教你用CMD搞定Office 2016专业增强版激活(附一键转换脚本)
  • 从化区搬家拆装损坏推卸责任?维权全攻略 正规公司推荐 - 从来都是英雄出少年
  • 五子棋AI对战平台搭建指南:整合强化学习模型与PyGame可视化界面