第1章 扩展 Flarum
Version: 2.x 扩展 Flarum Flarum 本身极简,但扩展性极强。实际上,Flarum 内置的大部分功能都是扩展实现的!
这种方式让 Flarum 具备极高的可定制性。用户可以禁用论坛中不需要的功能,并安装其他扩展,从而打造出最适合自己社区环境的论坛。
为实现这种扩展性,Flarum 构建了丰富的 API 和扩展点。只需具备一些编程知识,你就可以利用这些 API 添加几乎所有你想要的功能。本文档的这一部分旨在讲解 Flarum 的工作原理以及如何使用 API,以便你开发自己的扩展。
核心与扩展的界限 Flarum 的核心与其扩展之间该如何划界?为什么某些功能包含在核心中,而其他功能则不是?理解这一区别至关重要,有助于我们在 Flarum 生态系统中保持一致性和质量。
Flarum 的核心并不旨在塞满所有功能。相反,它更像是一个脚手架或框架,为扩展的构建提供可靠的基石。它仅包含论坛所必需的基础、无预设倾向的功能:主题、帖子、用户、分组和通知。
捆绑扩展是随 Flarum 一起打包并默认启用的功能。它们与普通扩展没有区别,可以禁用或卸载。虽然它们的设计并非意在满足所有使用场景,但其目标是通过保持通用性和可配置性,覆盖大多数主流需求。
第三方扩展由其他人开发,并未获得 Flarum 团队官方支持。它们可用于解决更具体的使用场景。
如果你打算修复核心或现有捆绑扩展中的 bug 或不足,参与相应项目的贡献可能比分散精力开发新的第三方扩展更合适。建议在 Flarum 社区发起讨论,以获取 Flarum 开发者的见解。
实用资源
本文档 初学者开发建议 Flarum CLI 开发者分享扩展开发工作流 扩展命名空间建议 Mithril.js 文档 Laravel API 文档 Flarum API 文档 ES6 速查表
获取帮助
官方 Flarum 开发者社区 在我们的 Discord 聊天中加入我们 #extend 频道