Skip to content
本页导览

助力生态可持续发展

赞助 Fresns 发展

成为赞助者

扩展 Fresns

LaravelFresnsPluginManager

Fresns 虽小,五脏俱全。事实上 Fresns 自带的大多数功能,都以扩展的形式实现。

这使得 Fresns 具有高度地可定制性。用户可以随时禁用任何不需要的功能,或者安装其他扩展程序,打造完美的社区论坛或者其他形式的产品。

为了实现这种可扩展性,Fresns 已经构建了丰富的 API 和扩展点,你只要掌握一些编程知识,就可以利用这些 API 来添加几乎所有你想拥有的功能。

扩展类型

功能插件:增强并丰富主程序功能的扩展,例如扩展一个频道、自定义注册流程或编辑器、增强管理功能、内容安全检查、控制面板等等。

网站引擎:基于主程序 API 开发的网站功能,分别有集成引擎和独立引擎。独立引擎等于一个独立网站,独立部署和运行在主程序之外,等同于移动应用(App),通过独立部署,可以实现一套数据在不同功能形式上运行,实现差异化运营的目的。

主题模板:依附于网站引擎的前端界面,根据所选引擎的模板标准开发的 UE&UI 界面。

移动应用:基于主程序 API 开发的移动在外的应用程序,可以是独立网站、App、微信小程序、快应用等各类形式。如果主程序 API 不满足需求,可以安装或开发扩展插件来新增 API,或者管理移动应用的相当配置,所以移动应用可能会开发一个插件,安装在控制台“移动应用”频道,用于增强移动端功能和管理。

目录结构

Fresns 主程序是基于 PHP Laravel 框架和关系型数据库而开发的社交网络服务软件。

php
fresns/         // 主程序根目录
├── app/            // 核心代码目录
│   ├── Console/        // 控制类
│   ├── Exceptions/     // 异常类
│   ├── Http/           // 业务类
│   ├── Models/         // 模型类
│   ├── Helpers/        // 辅助类
│   ├── Utilities/      // 工具类
│   ├── Providers/      // 公共服务者
│   └── Fresns/         // 业务功能
│       ├── Install/        // 初始化安装
│       ├── Panel/          // 控制面板
│       ├── Words/          // 命令字
│       ├── Subscribe/      // 订阅器
│       └── Api/            // 社区 API
├── bootstrap/      // 引导程序目录
├── config/         // 配置文件目录
├── database/       // 数据文件目录
├── extensions/     // 扩展目录
│   ├── plugins/        // 插件目录
│   ├── themes/         // 主题目录
│   └── backups/        // 备份目录
├── public/         // 网站根目录
│   ├── assets/         // 扩展静态文件
│   │   ├── plugins/        // 插件资源目录
│   │   └── themes/         // 主题资源目录
│   ├── static/         // 内置静态文件
│   ├── index.php       // 网站入口文件
│   ├── favicon.ico     // 站点 ico 图标
│   └── robots.txt      // Robots 协议
├── resources/      // 框架资源目录
│   ├── css/            // 样式资源
│   ├── js/             // JS 资源
│   ├── lang/           // 共用语言
│   └── views/          // 共用视图
├── storage/        // 框架存储目录
├── tests/          // 框架测试目录
├── .env.example    // 配置参数文件模板
├── artisan         // 框架命令行接口
├── compose.json    // 依赖项配置信息
├── compose.lock    // 依赖项安装信息
├── fresns.json     // 主程序信息
├── install.lock    // 安装锁定文件(有该文件后,禁止再执行安装)
├── package.json    // 前端编译用途文件
├── webpack.mix.js  // 前端编译用途文件
├── phpunit.xml     // 单元测试用途文件
└── LICENSE         // 版权文件

依赖库

Fresns 主程序 Composer 依赖库关系。

名称介绍
DTO数据传输对象扩展包,用于便捷的生成数据规则和检查传输数据。
命令字管理器帮助插件与插件之间通讯协作。
插件管理器插件的开发和运行:安装、启用、停用、卸载。
主题管理器主题的开发和管理:安装、编辑、卸载。
应用市场管理器从应用市场下载和升级应用,管理应用入库和升级更新。

联系我们

关注我们