首页
/ Moonshine 3.4.0版本发布:Winterberry Frost带来全新Reactivity 2.0

Moonshine 3.4.0版本发布:Winterberry Frost带来全新Reactivity 2.0

2025-07-06 04:36:18作者:邓越浪Henry

Moonshine是一个现代化的PHP框架,专注于为开发者提供优雅、高效的开发体验。它采用了Laravel生态系统的优势,同时引入了许多创新的功能和组件,帮助开发者快速构建高质量的Web应用。

核心更新:Reactivity 2.0

本次3.4.0版本最重大的改进是引入了Reactivity 2.0,这是一个全新的响应式系统架构。相比之前的版本,Reactivity 2.0带来了以下显著优势:

  1. 性能优化:新的响应式系统在处理复杂数据流时更加高效,减少了不必要的计算和渲染
  2. 更简洁的API:开发者可以用更少的代码实现相同的功能,降低了学习曲线
  3. 更好的可预测性:数据流的变化更加透明,调试和维护变得更加容易

新增功能亮点

1. WithConfirm组件的异步支持

WithConfirm组件现在支持异步变量,这意味着开发者可以在确认对话框中处理异步操作。例如,当用户点击删除按钮时,可以先异步获取需要确认的信息,然后再显示确认对话框。

// 示例代码
WithConfirm::make('删除项目')
    ->async(fn() => [
        'message' => "确定要删除{$this->getAsyncProjectName()}吗?",
        'confirmButton' => '是的,删除',
    ])

2. ColumnSelection组件的初始隐藏选项

ColumnSelection组件新增了hideOnInit参数,允许开发者控制表格列选择器是否在初始加载时隐藏。这对于需要保持界面简洁的场景特别有用。

ColumnSelection::make()
    ->hideOnInit()  // 初始状态下隐藏列选择器

3. QueryTag组件的按钮支持

QueryTag组件现在可以显示为按钮样式,提供了更好的视觉反馈和用户体验。开发者可以更灵活地设计筛选和查询界面。

QueryTag::make('状态')
    ->asButton()  // 以按钮形式显示

重要问题修复

  1. 修复了detailInModal在formPage中的问题:现在在表单页面中使用模态框显示详情时,行为更加稳定和可预测。

  2. 改进了MorphTo的异步搜索功能:修复了MorphTo关系类型在异步搜索时可能出现的问题,使得多态关联的选择更加可靠。

升级建议

对于正在使用Moonshine 3.3.x版本的开发者,升级到3.4.0版本是推荐的。特别是:

  1. 如果你的应用依赖复杂的响应式交互,Reactivity 2.0将显著提升性能
  2. 如果需要更灵活的表单确认流程,新的WithConfirm异步支持非常有用
  3. 界面需要更简洁的列选择控制的场景,可以使用hideOnInit参数

升级过程应该相对平滑,但建议在测试环境中先验证现有功能,特别是涉及响应式数据流的部分。

总结

Moonshine 3.4.0 "Winterberry Frost"版本带来了实质性的架构改进和实用的新功能,进一步巩固了其作为现代化PHP框架的地位。Reactivity 2.0的引入为复杂应用提供了更好的基础,而各种组件增强则让开发者能够构建更丰富、更用户友好的界面。

登录后查看全文
热门项目推荐

项目优选

收起
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
338
1.19 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
898
534
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
188
265
kernelkernel
deepin linux kernel
C
22
6
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
140
188
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
374
387
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
86
4
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
arkanalyzerarkanalyzer
方舟分析器:面向ArkTS语言的静态程序分析框架
TypeScript
114
45