finagin/laravel-comment

Comments for Laravel 5.4 and up
35
Install
composer require finagin/laravel-comment
Latest Version:0.1.0
PHP:>=7.0
License:MIT
Last Updated:Jun 29, 2017
Links: GitHub  ·  Packagist
Maintainer: finagin

Comments for Laravel 5.4 and up

Latest Version on Packagist Software License Build Status StyleCI Total Downloads

GitHub stars

Installation

This package can be used in Laravel 5.4 or higher. You can install the package via composer:

composer require finagin/laravel-comment

Now add the service provider in config/app.php file:

'providers' => [
    /*
     * Package Service Providers...
     */
    // ...
    Finagin\Comment\CommentServiceProvider::class,
    // ...
];

You must publish the migration with:

php artisan vendor:publish --provider="Finagin\Comment\CommentServiceProvider" --tag="migrations"

After the migration has been published you must create the settings-tables by running the migrations:

php artisan migrate

Also you can publish the config file with:

php artisan vendor:publish --provider="Finagin\Comment\CommentServiceProvider" --tag="config"

Add CanComment trait to your User model.

use Finagin\Comment\Traits\CanComment;

Add Commentable trait to your commentable model(s).

use Finagin\Comment\Traits\Commentable;

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

class Comment extends Finagin\Comment\Models\Comment
{
  ...
}

Comment package comes with several modes.

  1. If you want to Users can rate your model(s) with comment set canBeRated to true in your Commentable model.
class Post extends Model {
  use Commentable;

  protected $canBeRated = true;

  ...
}
  1. If you want to approve comments for your commentable models, you must set mustBeApproved to true in your Commentable model.
class Post extends Model {
  use Commentable;

  protected $mustBeApproved = true;

  ...
}

Usage

$user = App\User::find(1);
$post = App\Post::find(1);

// CanComment->comment(Commentable|Commnet $commentable, string $commentText): Comment

// Anonimous first level comment
$comment = (new User(['name' => 'Anonymous']))->comment($post, 'Lorem ipsum ..');

// Users sub comment
$user
    ->comment($comment, 'Lorem ipsum ..');

// Anonimous sub comment
(new User(['name' => 'Anonymous']))
    ->comment($comment, 'Lorem ipsum ..');

License

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

Related Packages

laravelista/comments

Comments for Laravel.

195,701 739
persson/comments

A simple comments package

44 1
fbf/laravel-comments

A Laravel 4 package for adding commenting to a website that has user accounts

4,626 20
finagin/laravel-settings

Settings for Laravel 5.4 and up

14 0
rtablada/wardrobe-disqus

Fast, simple Disqus integration for Laravel

906 15