finagin / laravel-comment
Comments for Laravel 5.4 and up
0.1.0
2017-06-29 13:54 UTC
Requires
- php: >=7.0
- illuminate/auth: ~5.4.0
- illuminate/container: ~5.4.0
- illuminate/contracts: ~5.4.0
- illuminate/database: ~5.4.0
Requires (Dev)
- monolog/monolog: ^1.22
- orchestra/database: ^3.4
- orchestra/testbench: ^3.0
- phpunit/php-code-coverage: ^5.2
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-12-19 00:58:20 UTC
README
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.
- If you want to Users can rate your model(s) with comment set
canBeRated
to true in yourCommentable
model.
class Post extends Model { use Commentable; protected $canBeRated = true; ... }
- If you want to approve comments for your commentable models, you must set
mustBeApproved
to true in yourCommentable
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.