inium / laraboard
基于Laravel的简单论坛。
Requires
- php: ^8.0.2
- jenssegers/agent: ^3.0@dev
This package is auto-updated.
Last update: 2024-09-11 19:21:15 UTC
README
Laravel 论坛脚手架(Scaffolding)包。
它基于Laravel 9.x / PHP 8.x构建,支持论坛帖子、2级深度评论,并使用Laravel提供的users表作为会员信息。
- 由于它是以API形式制作的,因此没有视图文件。
组成
本论坛包由以下项目组成。
作者信息存储(可选)
如果将config/laraboad.php
中的collect_user_info
项设置为true,则在发布帖子及评论时将存储以下信息。
用户认证
注意:Laravel的HTTP基本认证使用base64编码的email:password字符串,因此安全性较弱。因此,建议使用本包时务必更改以使用。
本包为方便起见使用了HTTP基本认证(Basic Auth)。
用户认证的应用范围如下。
Strip Tag:帖子/评论存储
存储帖子、评论内容时应用strip tag(+html特殊字符),并应用XSS保护。
允许的标签可以在config/laraboad.php
的allow_post_content_tags
、allow_comment_content_tags
中设置。
依赖
本包具有以下依赖。
使用方法
包的使用方法如下。
1. 安装包
在安装了Laravel 9.x的项目目录中,使用composer
命令安装。
composer require inium/laraboard
2. 发布文件并附加路由
使用以下命令发布Laraboard文件并附加到routes/api.php路由。
php artisan laraboard:publish
执行命令后,将在以下路径生成Laraboard文件。
- 说明 > 发布:将包中定义的Laraboard代码发布到项目中。
3. 数据库迁移
使用以下命令进行Laraboard表的迁移。
php artisan migrate --path=database/migrations/laraboard
4. (可选)创建测试数据
如果需要测试数据,可以使用以下命令将测试数据添加到Laraboard表中。
php artisan db:seed --class="Database\\Seeders\\Laraboard\\LaraboardSeeder"
- 由于上述命令将添加大量数据,因此需要较长时间。
5. 功能测试
使用以下命令执行功能测试。
php artisan test
其他
时区
本论坛包的时区使用Laravel项目配置文件config/app.php
中指定的时区。默认时区为UTC。
文件上传
本论坛包没有实现独立的文件上传功能。
管理
本论坛包没有实现管理页面。
API规范
有关本包帖子、评论API的使用方法,请参考以下内容。
许可证
MIT