fpn/doctrine-extensions-taggable
Doctrine 2 Taggable extension that lets you add and manage tags on your entities. Implement the Taggable interface on your models, register the package XML metadata, and hook up the TagListener/TagManager to persist tags automatically.
Feature Development:
getTagsWithCountArray, supporting data-driven product decisions.Roadmap Prioritization:
Build vs. Buy:
TagListener for audit logs or tag validation).Use Cases:
/articles?tag=technology).Adopt When:
getResourceIdsForTag, getTagsWithCountArray).Look Elsewhere If:
spatie/laravel-tags (Laravel-native, Eloquent-based).baozhiyuan/laravel-tagging (more features, but heavier).jenssegers/laravel-mongodb + custom tagging.scientist/laravel-searchable.For Executives: *"This package lets us add tagging to our [articles/products/users] in weeks, not months, by leveraging Doctrine ORM—no custom development needed. It’s a turnkey solution for features like hashtags, product categories, or content discovery, with built-in analytics to track popular tags. For example:
For Engineering:
*"The fpn/doctrine-extensions-taggable package provides a batteries-included tagging system for Doctrine ORM, with:
Taggable interface in 3 methods per entity (e.g., getTaggableType, getTaggableId).getResourceIdsForTag returns tagged entity IDs in milliseconds).addTags, replaceTags).TagListener, DriverChain).
Tradeoffs:laravel-doctrine/orm or a hybrid approach).Taggable, which may feel rigid in a Laravel/Eloquent context.
Recommendation: Use this for tagging-heavy features where Doctrine’s query capabilities shine, and pair with a Laravel frontend layer for UX (e.g., Select2 for tag input). For simpler cases, evaluate spatie/laravel-tags."*For Data/Analytics Teams: *"This package enables efficient tag-based queries out of the box, such as:
getTagsWithCountArray(): Get a ranked list of tags (e.g., 'Top 10 tags by article usage').getResourceIdsForTag(): Retrieve all entity IDs for a given tag (e.g., 'Find all product IDs tagged "sale"').
These methods eliminate the need for custom SQL and integrate seamlessly with Doctrine’s query builder. For example, you could build a tag cloud dashboard or recommendation engine (e.g., 'Users who tagged X also tagged Y') with minimal effort."*How can I help you explore Laravel packages today?