rudak/slug-bundle
Symfony bundle that simplifies URL slug management for Doctrine entities. Configure slug and source fields, automatically generate transliterated slugs, handle uniqueness, and keep routing stable as content changes. A lightweight way to add clean, SEO-friendly URLs to your app.
Str::slug() already covers the core need, so this package rarely changes the decision — and when it does, it argues against adding a dependency.Adopt only in a narrow legacy case:
slugify filter in that same legacy app and are unwilling to add a Composer dependency.Look elsewhere in nearly every other case:
Str::slug(), optionally with a maintained package such as spatie/laravel-sluggable when persistence and uniqueness are needed.symfony/string’s AsciiSlugger; it is in-core, locale-aware, and maintained.cocur/slugify is better maintained and supports transliteration rules.Diligence flags: zero stars, zero dependents, Symfony2-only, no visible release or license signal in the summary, and score 0. Treat it as end-of-life and unsuitable for new Laravel work.
Executives: Slug generation is a commodity capability — Laravel, Symfony, and standalone PHP libraries all provide it in-core or through maintained packages. We recommend against adopting rudak/slug-bundle: it is a Symfony2-era bundle with no stars, no dependents, and no sign of maintenance. Adding it to a Laravel product buys nothing and introduces supply-chain, compatibility, and upgrade risk for functionality we already get free. If it exists in a legacy service, keep it running and fold its replacement into that service’s next modernization pass. If it appears in a new proposal, reject it.
Engineering: This is a Twig filter plus a small slugifier for Symfony2 — narrow scope, no maintenance, and no Laravel integration path. Do not add it to new work. Use Str::slug() in Laravel; use spatie/laravel-sluggable if you need database-backed uniqueness; use AsciiSlugger on Symfony 4+; use cocur/slugify for framework-agnostic needs. All are strictly better on transliteration, locale handling, and support. Action: log it as an EOL dependency in the SBOM, attach a remediation ticket to replace it with Laravel-native slugging the next time the owning service is touched, and stop new references to it.
How can I help you explore Laravel packages today?