jobmetric / laravel-comment
这是一个用于Laravel项目的评论管理包。
1.1.0
2024-06-18 19:18 UTC
Requires
- php: >=8.0.1
- jobmetric/laravel-package-core: ^1.7
- laravel/framework: >=9.19
This package is auto-updated.
Last update: 2024-09-18 19:54:50 UTC
README
laravel评论
这是一个用于Laravel中任何对象的评论管理包,您可以在项目中使用。
通过composer安装
运行以下命令以拉取最新版本
composer require jobmetric/laravel-comment
文档
该包每天都在持续开发下演变,集成了各种功能。它是Laravel爱好者的必备资产,并提供了一种无缝的方式来使项目与基本的评论模型对齐。
在此包中,您可以与任何需要评论的模型无缝使用。
现在让我们来看主要功能。
在执行任何操作之前,您必须通过composer安装包后进行迁移。
php artisan migrate
认识一下精心设计的HasComment
类,该类旨在集成到您的模型中。这个类自动执行基本任务,确保过程流畅。
在第一步中,您需要将此类连接到您的主体模型。
use JobMetric\Comment\HasComment; class Post extends Model { use HasComment; }
当您添加此类时,您必须实现CommentContract
到您的模型。
use JobMetric\Comment\Contracts\CommentContract; class Post extends Model implements CommentContract { use HasComment; }
现在您必须使用needsCommentApproval函数,并将其添加到您的模型中。
use JobMetric\Comment\Contracts\CommentContract; class Post extends Model implements CommentContract { use HasComment; public function needsCommentApproval(): bool { return false; } }
如何使用?
现在您可以为您模型使用HasComment
类。
存储评论
您可以使用以下代码存储新的评论
$post = Post::create([ 'title' => 'Post title', 'body' => 'Post body', ]); $post->comment('This is a comment', $parent_comment_id, $user_id);
如果您想存储没有父评论的评论,可以将
null
传递给第二个参数。如果您想存储没有用户的评论,可以将
null
传递给第三个参数。
更新评论
您可以使用以下代码更新现有的评论
$post->updateComment($comment->id, 'This is a new comment');
忘记评论
您可以使用以下代码忘记现有的评论
$post->forgetComment($comment->id);
忘记所有评论
您可以使用以下代码忘记所有评论
$post->forgetComments();
获取评论
您可以使用以下代码获取所有评论
$comments = $post->comments;
获取已批准的评论
您可以使用以下代码获取所有已批准的评论
$comments = $post->approvedComments;
获取未批准的评论
您可以使用以下代码获取所有未批准的评论
$comments = $post->unapprovedComments;
获取父评论
您可以使用以下代码获取所有父评论
$comments = $post->parentComments;
CanComment特性
您还可以将CanComment
特性类连接到您的User模型。
use JobMetric\Comment\CanComment; class User extends Authenticatable { use CanComment; }
事件
此包包含多个事件,您可以为以下内容编写监听器
贡献
感谢您考虑为Laravel Comment做出贡献!贡献指南可在CONTRIBUTING.md中找到。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。