Symfony UX 2.24.0 版本发布:NPM 包支持与功能增强
Symfony UX 是 Symfony 框架的一个扩展组件集合,旨在简化现代 Web 开发中常见的前端交互功能的集成。它通过提供一系列与 Symfony 无缝集成的工具和组件,帮助开发者更高效地构建交互式 Web 应用。UX 组件涵盖了从前端表单增强到实时组件等各种功能,大大提升了开发体验。
主要更新亮点
NPM 包支持正式发布
Symfony UX 2.24.0 版本最重要的变化是开始将需要 JavaScript 的 UX 包发布到 NPM。这一变化为高级用户提供了更大的灵活性,使他们能够将 JavaScript 依赖项与 PHP 依赖项解耦。不过,官方仍然推荐大多数用户继续使用 Symfony Flex 作为主要的安装方式。
地图组件(Map)功能增强
地图组件在此版本中获得了多项重要改进:
-
标记图标自定义功能:开发者现在可以完全自定义地图标记的图标,为地图应用带来更丰富的视觉表现力。
-
元素移除功能:新增了从地图上移除标记、多边形和折线的能力,使动态地图交互更加灵活。
-
文档与测试改进:对"与地图交互"部分进行了优化,使开发者更容易理解和使用高级功能。同时改进了渲染器测试,采用快照测试使维护更加容易。
Twig 组件改进
Twig 组件系统也获得了一些重要更新:
-
注释行支持:新增了对 Twig 组件中注释行的最小支持,提高了代码的可读性和可维护性。
-
32位系统兼容性修复:解决了 ComponentTokenParser 在 32 位系统上的兼容性问题。
-
Twig 3.21 适配:修复了与 Twig 3.21 版本相关的弃用警告,确保组件在未来版本中继续正常工作。
Live 组件优化
实时组件(Live Components)方面也有多项改进:
-
依赖管理调整:将
symfony/property-info移动到 require 部分,确保必要的依赖被正确安装。 -
默认选择值修复:修正了带有首选选项时默认选择值的行为,使表单处理更加可靠。
-
文档增强:新增了关于如何从 Twig 向事件监听器传递值的文档,帮助开发者更好地利用组件功能。
其他组件更新
-
自动完成组件(Autocomplete):修复了查询构建器代码示例,增加了对
EnumType的精确支持,并改进了错误处理。 -
Turbo 组件:新增了 Twig 扩展用于
meta标签管理,改进了事件源选项传递功能。 -
图标组件(Icons):改进了 SVG 图标的兼容性,添加了
xmlns属性。 -
通知组件(Notify):扩展了通知选项,提供了更灵活的通知定制能力。
技术实现细节
JavaScript 包管理重构
为了实现 NPM 发布,项目进行了多项底层重构:
-
包规范化:统一了所有
package.json文件的结构,为 NPM 发布做好准备。 -
构建系统改进:确保无论是通过 Composer 安装的 vendor 版本还是直接从 NPM 安装的版本,都能在 Encore 应用中正常工作。
-
自动化发布流程:新增了工作流来自动将 JS 包发布到 NPM,提高了发布效率和可靠性。
测试与质量保证
版本发布过程中进行了全面的测试保障:
-
跨环境测试:增加了对最低稳定性为 dev 的环境测试,确保在各种配置下都能正常工作。
-
快照测试应用:在地图组件中引入快照测试,使渲染器测试更易于维护。
-
TypeScript 验证:增加了对 TypeScript 代码有效性的检查,提高了代码质量。
开发者体验改进
Symfony UX 2.24.0 在开发者体验方面做了多项优化:
-
文档增强:多个组件都补充或修正了文档,包括修复链接、添加示例和说明重要功能的使用方法。
-
错误处理改进:如自动完成组件中改进了对错误请求的处理,提供更清晰的错误反馈。
-
弃用警告处理:及时修复了与 Twig 新版本相关的弃用警告,确保平滑升级。
总结
Symfony UX 2.24.0 版本通过引入 NPM 包支持,为高级用户提供了更大的灵活性,同时继续增强各个组件的功能和稳定性。地图组件的标记自定义和元素管理功能、Twig 组件的注释支持和兼容性改进,以及 Live 组件的表单处理优化,都使这个版本成为值得升级的选择。
对于大多数用户,仍然推荐使用 Symfony Flex 进行安装,而需要更精细控制 JavaScript 依赖关系的团队现在可以选择通过 NPM 直接管理 UX 的 JavaScript 部分。这一变化体现了 Symfony 生态系统对现代前端开发工作流的适应和支持。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00