Laravel Comments Package

Admin   Laravel   660  2022-06-14 14:00:02

Laravel Comments is a premium comments package for applications using PHP 8.1+ and Laravel 9+ by Spatie. Using this package, you can create and associate comments with Eloquent models.

At the time of launch, Laravel Comments' main features include:

  • A beautiful Livewire component to display comments
  • markdown submission is supported, we'll render it as html
  • code snippets that appear in comments will automatically be highlighted
  • users can react to comments (👍, ❤️, or any emoji you want)
  • optionally, you enable a comment approval flow
  • sane API for creating your own commenting UI
  • Livewire components out of the box

At the core of this package is the HasComments trait you'll add to models:

1use Illuminate\Database\Eloquent\Model;
2use Spatie\Comments\Models\Concerns\HasComments;
4class Post extends Model
6 use HasComments;

Which then enables you to manage comments and reactions on a model:

1$post->comment("I've got a feeling");

While the above is a barebones example, the package also comes with a fully baked Laravel Livewire component, which also supports one level of nested comments:

Note that you must pay for a premium license to use this package. To get started, check out the Laravel Comments documentation.