harentius/blog-bundle
A Symfony bundle that adds a complete blog to your application, including posts, categories, tags, comments, RSS feeds, and a ready-to-use admin interface. Built on Doctrine ORM with flexible configuration, it is easy to integrate, extend, and customize for your project.
symfony/*:^5, stop here — v5 will not install.composer require <vendor>/<package>:^5.0
php artisan vendor:publish --provider="<Vendor>\<Package>\ServiceProvider"
php artisan migrate
php artisan route:list --path=api (or whatever prefix the package registers) and read the API controllers/requests directory. That route table is effectively your new "admin panel" contract.If you were previously on v4, budget the upgrade as a rewrite of your admin layer, not a dependency bump.
Treat v5 as headless-first. With Sonata Admin gone, the package is now a content backend plus an HTTP API. The idiomatic integration is:
auth:sanctum, throttle, a policy per blog/post) rather than trusting package defaults. Content-management endpoints should never be internet-facing unauthenticated.BlogRepository) that talks to the package instead of scattering API calls or model queries through controllers. When the API shape shifts in 5.1, you change one class.$this->postJson('/api/blogs', [...])->assertCreated() catches payload contract drift on upgrade.app/, custom packages, and any Composer-adjacent code for Sonata references before upgrading — leftover service definitions will fatal at container boot, not at a helpful line.composer why-not symfony/http-foundation '^6.0' and composer show -t to see what dragged in Symfony 5.^5.0.x and watch 5.1 for contract changes.composer require — check before deploying to staging with a public URL.php artisan config:cache and route:cache after publishing, and verify the package's route file is cacheable (no closures referencing non-serializable services).php artisan route:list --path=api → php artisan about (confirms Laravel/Symfony resolution) → storage/logs/laravel.log → composer show -t. Most "package is broken" reports at major-version boundaries are actually version-resolution or cached-config issues.vendor/ becomes a permanent upgrade tax.How can I help you explore Laravel packages today?