admsys / laravel-comments
为 Laravel 应用提供的简单评论系统
v1.0.1
2023-08-19 23:50 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0
- illuminate/database: ^8.0|^9.0|^10.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- laravel/pint: ^1.11
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0|^8.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-23 22:12:38 UTC
README
本包为 Laravel 应用提供了一个简单的评论系统。
安装
您可以通过 composer 安装此包
composer require admsys/laravel-comments
您可以使用以下命令发布并运行迁移
php artisan vendor:publish --tag="comments-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="comments-config"
这是已发布配置文件的内容
return [ 'model' => \Admsys\Comments\Models\Comment::class, 'user' => \App\Models\User::class, ];
使用方法
首先,在您的模型上使用 Admsys\Comments\Concerns\HasComments
trait。
use Admsys\Comments\Concerns\HasComments; class Post extends Model { use HasComments; }
此 trait 在您的模型上添加了一个 comments(): MorphMany
关联。它还添加了一个新的 comment()
方法,可用于快速向模型添加评论。
$post = Post::first(); $post->comment('Hello, world!');
默认情况下,该包将使用认证用户的 ID 作为 "评论者"。您可以通过向 comment()
方法提供自定义的 User
来自定义此设置。
$post->comment('Hello, world!', user: User::first());
该包还支持评论的 parent -> children
关系。这意味着一个评论可以 belongTo
另一个评论。
$post->comment('Thanks for commenting!', parent: Comment::find(2));
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。