atrakeur / forum
Requires
- php: >=5.3.0
- illuminate/support: 4.2.*
Requires (Dev)
- mockery/mockery: 0.9.*
- orchestra/testbench: 2.2.*
This package is not auto-updated.
Last update: 2022-02-01 12:36:27 UTC
README
** 注意:由于我没有时间再对其进行改进,此包现已停用。然而,一位好心的家伙基于我的工作进行了分支并进行了改进,现在正在维护它。我建议您查看 这个仓库 以获取新版本。此仓库仅用于文档目的。请将您的pull请求和问题提交到Riari的仓库中。**
目标
此包旨在为在Laravel应用程序中实现论坛提供一个良好的起点。它专注于处理论坛创建的所有繁琐和重复性工作(类别、子类别、主题、消息)。让您有更多时间专注于网站功能和论坛如何与您的应用程序集成。此包将提供多个钩子,如特殊事件和自定义闭包,以允许您自定义其行为。此外,您还可以扩展论坛的核心类,以直接在核心中实现您自己的方法。
此包尚未完成,欢迎通过pull请求一起改进此包。
安装
导入包
要安装,只需将以下行添加到您的composer .json中,并运行composer update
"atrakeur/forum": "dev-master"
然后添加以下服务提供者到您的app.php
'Atrakeur\Forum\ForumServiceProvider',
集成到您的应用程序中
在执行以下步骤之前,在某些情况下(L4),您可能需要先运行composer更新,因此
composer update
并且,为了安全起见,运行
composer dump-autoload
现在将论坛文件直接发布到您的Laravel应用程序中: php artisan config:publish atrakeur/forum
php artisan migrate:publish atrakeur/forum
如果一切顺利,您应该在app/config/packages/atrakeur/forum中找到配置文件,并在app/database/migrations中找到三个新的迁移文件。
现在,您可以使用默认的Laravel命令 php artisan migrate
创建数据库模式。
为了使您能够完全自定义包以符合您的网站,该包使用两个应用程序级别的控制器集成到您的应用程序中。运行命令 php artisan forum:install
以在您的app/controllers文件夹中自动部署控制器。(请注意,如果已存在具有相同名称的文件,则上述命令将在覆盖您的文件之前失败。)
自定义
要调整视图,请使用Laravel命令将其发布到您的视图文件夹
php artisan view:publish atrakeur/forum
最后一步需要创建一些类别和子类别到论坛_categories表中。模式非常基本,您应该能够使用Laravel seeds自己完成(待补充:提供一些示例)
现在,您可以开始了,只需加载 https:///forum ,您应该看到一个全新的论坛。
有关如何将其与您的登录系统集成,详细信息请参阅配置文件注释。(待办事项:提供一些示例)默认情况下,它应该可以在Laravel默认认证下正常运行。
功能
此包目前处于(非常)alpha阶段,因此以下所有功能可能尚未启用。不过,请随时在https://github.com/atrakeur/laravel-forum/issues 上发布问题和功能请求。我会根据您的帮助尽快修复和改进此包!
- 二级分类嵌套
- 分类内的主题和消息
- 简单用户集成(通过配置文件和回调函数实现)
- 简单用户权限集成(通过配置文件和回调函数实现)
- 发布消息(带有应用程序集成的钩子)
- 轻量级且快速(设计时考虑了缓存和高速)
- 基于Bootstrap设计(简洁的标记,无杂乱的CSS,可以直接集成到您的网站中)
事件
此包提供各种事件作为钩子,使您能够在其论坛功能之上实现自己的功能。以下为所有事件的完整列表以及它们被触发的时间。当提供参数时,您可以使用此参数更改论坛的内部对象以符合您的需求。
事件 | 参数 | 用法 |
---|---|---|
forum.new.topic | $topic | 在主题保存之前调用。可以用来修改主题内容 |
forum.new.message | $message | 在消息保存之前调用。可以用来修改消息内容 |
forum.saved.topic | $topic | 在主题保存之后调用。可用于记录目的 |
forum.saved.message | $message | 在消息保存之后调用。可用于记录目的 |