inium/laraboard

基于Laravel的简单论坛。

0.2.4 2023-06-11 16:49 UTC

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.phpallow_post_content_tagsallow_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