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

Admin Bundle Laravel Package

rz/admin-bundle

rz/admin-bundle is a Laravel admin package that helps you set up and manage administrative interfaces. It bundles common admin panel components and resource-management tooling so you can scaffold backend screens faster with less boilerplate. Designed for PHP/Laravel projects.

View on GitHub
Deep Wiki
Context7

Getting Started

First, the framework mismatch. rz/admin-bundle is a Symfony bundle, not a Laravel package. There is no service provider, no publishable config/admin.php, and nothing to php artisan. There is no adapter that makes this drop-in for Laravel — "leveraging" it means either maintaining a legacy Symfony 2.x / RZ Project CMS deployment, or reading it as reference material for how an admin layer is structured. Do not plan on the former unless you already own the codebase.

Where to look first, in this order:

  1. composer.json — the require block is your whole compatibility story. Note the symfony/* pins and PHP floor; if it targets ~2.x, expect composer require to fail resolution against any current project before you reach a runtime error.
  2. DependencyInjection/RZ*Extension.php and Configuration.php — the real config API. Every knob the bundle accepts lives in the config tree; treat it as your documentation substitute.
  3. Resources/config/services.yml — the wiring. Tells you which services are public, which are tagged for auto-registration, and what the bundle assumes about Doctrine.
  4. Controller/ and Resources/views/ — the actual admin screens and the Twig blocks you'd override.
  5. Resources/doc/ or root README.md — if present; expect thin, stale, or absent.

Minimal boot check (legacy Symfony skeleton only):

composer create-project symfony/skeleton:"<matching version>" admin-sandbox
composer require rz/admin-bundle   # expect conflicts; use --ignore-platform-reqs only to read the errors

Register the bundle in app/AppKernel.php (or config/bundles.php on newer Symfony), import its routing under an /admin prefix, then:

bin/console debug:router | grep -i admin

That dashboard route is your first use case: confirm the shell renders before wiring a single entity to it. If the dashboard 500s on a clean install, stop — an archived bundle you can't even boot isn't worth debugging.

Implementation Patterns

CRUD-over-entities is the core pattern. The bundle exposes an "admin resource" concept: you point it at a Doctrine entity (via annotation, YAML/PHP config, or a tagged service), and it derives list/create/edit/delete screens from Doctrine metadata and validation constraints. The day-to-day workflow is:

  1. Define the entity in your own bundle (never inside the admin bundle).
  2. Register it as an administered resource through the config tree or a tagged admin service.
  3. Override only the fields that need custom rendering.

Config over inheritance. Prefer the bundle's config tree for field labels, ordering, and which properties are listable. Reach for template overrides only when the config tree has no knob — in an archived bundle, the config layer is the part least likely to break under a minor Symfony upgrade, and fork-patched templates are the part most likely to.

Template override layering. Symfony resolves overrides by bundle path, so the standard escape hatch is:

templates/bundles/RZAdminBundle/<Controller>/<template>.html.twig   # modern
app/Resources/RZAdminBundle/views/<Controller>/<template>.html.twig # legacy

Copy the vendor template, change one block, leave the rest untouched. Never edit vendor/ — you will lose the change on the next composer install, and there is no upstream to accept a patch.

Auth integration. The bundle does not ship an auth system; it hooks into whatever the host application already has (SecurityContext, role hierarchy, voters). Wire your existing guard and policies, and treat the bundle's default admin routes as needing an explicit firewall rule. There is no security maintenance behind this bundle, so your firewall config is the only thing standing between an unmaintained admin surface and the internet.

If you're actually on Laravel: the only defensible pattern is scavenging. Read the controller structure and the resource-registration model as a design reference, then implement natively against Filament or Nova resources. Do not attempt to port the Symfony service container; write your own contracts.

Gotchas and Tips

  • Archived means you are upstream. No CVEs, no PHP 8.x, no dependency updates. Pinning this in a composer.json pins the entire application to an EOL runtime. This is the highest-probability near-term cost, and it will surface as an unrelated dependency update failing resolution — not as a clean error where you expect it.
  • Admin is the highest-privilege surface in any app. Auth-adjacent routing, CRUD over arbitrary entities, file handling. Treat any non-local deployment as an audit finding waiting to happen, and require a security review before it moves past local.
  • Zero dependents = zero institutional knowledge. No issue history to mine, no Stack Overflow corpus, no forks to inherit. Every incident is a from-scratch investigation under time pressure, on a surface where the failure mode is data exposure. Budget accordingly.
  • Doctrine assumptions are implicit. If the bundle derives its screens from entity metadata, deviations in your mapping will surface as silent data-layer bugs rather than clean errors. Read the discovery mechanism (compiler pass or extension) before assuming auto-registration.
  • Debug with debug:container and debug:router, not with logs. Since there's no maintainer to ask, bin/console debug:container --tag=<tag> is how you discover which services are actually registered and which tags the bundle relies on.
  • Extension points you'll likely touch: the admin resource registration mechanism, the Twig view blocks, and the security voter / role hierarchy integration. Everything else is internal wiring you shouldn't depend on.
  • Ramp-up is negative. New engineers cannot learn this from public material. Choosing it converts an afternoon of onboarding into oral tradition — factor that into any "we'll just maintain it" estimate. Porting an unfamiliar Symfony 2 admin bundle to a maintained stack is a multi-week effort before the first feature ships, and there is no migration documentation to shorten it.
  • Decision rule for a Laravel team: this belongs on the "do not adopt" list. If an admin-panel requirement is real, re-scope it against Filament, Nova, or Backpack — all maintained, all hireable, all defensible in a security review. This bundle is a reference artifact, not a dependency.
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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings