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

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

2025-07-06 19:45:34作者:邓越浪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的引入为复杂应用提供了更好的基础,而各种组件增强则让开发者能够构建更丰富、更用户友好的界面。

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