muba00/laravel-comment 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

muba00/laravel-comment

最新稳定版本:1.0.7

Composer 安装命令:

composer require muba00/laravel-comment

包简介

Just another comment system for your awesome Laravel project.

README 文档

README

Latest Version on Packagist Software License Build Status Total Downloads Scrutinizer Code Quality Code Coverage

Just another comment system for your awesome Laravel project.

Version Compatibility

Laravel Laravel Comment
5.0.x 0.1.x
5.1.x 0.1.x
5.2.x 0.1.x
5.3.x 0.2.x
5.4.x 0.3.x

For >5.5 you can use ^1.0.0 version.

Install

Via Composer

$ composer require muba00/laravel-comment

If you don't use auto-discovery, or using Laravel version < 5.5 Add service provider to your app.php file

\Muba00\LaravelComment\LaravelCommentServiceProvider::class

Publish configurations and migrations, then migrate comments table.

$ php artisan vendor:publish
$ php artisan migrate

Add CanComment trait to your User model.

use Muba00\LaravelComment\CanComment;

class User extends Model
{
    use CanComment;

    // ...
}

Add Commentable interface and HasComments trait to your commentable model(s).

use Muba00\LaravelComment\Contracts\Commentable;
use Muba00\LaravelComment\HasComments;

class Product extends Model implements Commentable
{
    use HasComments;

    // ...
}

If you want to have your own Comment Model create a new one and extend my Comment model.

use Muba00\LaravelComment\Models\Comment as LaravelComment;

class Comment extends LaravelComment
{
    // ...
}

and dont forget to update the model name in the config/comment.php file.

Comment package comes with several modes.

1- If you want to users can rate your commentable models;

class Product extends Model implements Commentable
{
    use HasComments;

    public function canBeRated(): bool
    {
        return true; // default false
    }

    //...
}

2- If you want to approve comments for your commentable models;

class Product extends Model implements Commentable
{
    use HasComments;

    public function mustBeApproved(): bool
    {
        return true; // default false
    }

    // ...
}

3- Sometimes you don't want to approve comments for all users;

class User extends Model
{
    use CanComment;

    protected $fillable = [
        'isAdmin',
        // ..
    ];

    public function canCommentWithoutApprove(): bool
    {
        return $this->isAdmin;
    }

    // ..
}

Usage

$user = App\User::first();
$product = App\Product::first();

// $user->comment(Commentable $model, $comment = '', $rate = 0);
$user->comment($product, 'Lorem ipsum ..', 3);

// approve it -- if the user model `canCommentWithoutApprove()` or you don't use `mustBeApproved()`, it is not necessary
$product->comments[0]->approve();

// get avg rating -- it calculates approved average rate.
$product->averageRate();

// get total comments count -- it calculates approved comments count.
$product->totalCommentsCount();

Tip: You might want to look at the tests/CommentTest.php file to check all potential usages.

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email mehmet.aydin.bahadir@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 64
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-03-19