定制 actuallymab/laravel-comment 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

actuallymab/laravel-comment

最新稳定版本:1.0.7

Composer 安装命令:

composer require actuallymab/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 actuallymab/laravel-comment

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

\Actuallymab\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 Actuallymab\LaravelComment\CanComment;

class User extends Model
{
    use CanComment;
    
    // ...   
}

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

use Actuallymab\LaravelComment\Contracts\Commentable;
use Actuallymab\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 Actuallymab\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.

统计信息

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

GitHub 信息

  • Stars: 234
  • Watchers: 12
  • Forks: 53
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-06-12