Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Comment Bundle Laravel Package

edumedia/comment-bundle

View on GitHub
Deep Wiki
Context7

eduMedia Comment Bundle

How to

Install bundle

composer require edumedia/comment-bundle

Create Comment class

<?php
// src/Entity/Comment.php

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use eduMedia\CommentBundle\Entity\CommentInterface;
use eduMedia\CommentBundle\Entity\CommentTrait;
use Symfony\Component\Security\Core\User\UserInterface;

#[ORM\Entity]
#[ORM\Table]
class Comment implements CommentInterface
{
    use CommentTrait;

    #[ORM\ManyToOne(targetEntity: User::class)]
    private ?UserInterface $author = null;
}

Make entity commentable

Here is a User example:

<?php
// src/Entity/User

namespace App\Entity;

use eduMedia\CommentBundle\Entity\CommentableInterface;
use eduMedia\CommentBundle\Entity\CommentableTrait;

class User implements /* (...) */ CommentableInterface
{

    use CommentableTrait;
    
    // (...)
}

Add admin routes to list/add comments in EasyAdmin

# config/routes/edumedia_comment.yaml
edumedia_comment:
  resource: '@eduMediaCommentBundle/Resources/config/routes.yaml'
  prefix: '/admin/comments'

User CRUD example

<?php
// src/Controller/Admin/UserCrudController.php

namespace App\Controller\Admin;

use App\Entity\User;
// (...)

class UserCrudController extends AbstractCrudController
{
    public function configureCrud(Crud $crud): Crud
    {
        return $crud->overrideTemplate('crud/edit', 'admin/user/edit.html.twig');
    }
}
{# templates/admin/user/edit.html.twig #}
{% extends '@EasyAdmin/crud/edit.html.twig' %}

{% block main %}
	{{ parent() }}
	{% include '@eduMediaComment/admin/comments/crud.html.twig' %}
{% endblock %}

Optional: Use a non-default Comment class FCQN

# config/services.yaml
services:
  eduMedia\CommentBundle\Service\CommentService:
    arguments:
      $commentClass: 'MyCustomApp\Entity\Comment'

Migrate, to create tables

bin/console make:migration
bin/console doctrine:migrations:migrate
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
adachsoft/php-code-style