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

Krumo Bundle Laravel Package

mmucklo/krumo-bundle

Symfony bundle integrating Krumo, the PHP debugging tool that renders arrays and objects as collapsible, navigable trees. Replaces var_dump and print_r with readable structured output, making complex nested data easy to inspect during development.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Poor — and the framing needs correction before anything else. mmucklo/krumo-bundle is a Symfony 2/3 bundle, not a Laravel package. Laravel consumes Symfony components, not Symfony bundles; there is no AppKernel, no bundle registration lifecycle, no bundle DI extension loading. So the package's actual value-add (auto-wiring the Krumo dumper into the container) evaporates in a Laravel app. What's left is the underlying mmucklo/krumo library — a legacy var_dump/print_r prettifier — which provides no capability Laravel lacks.
  • Integration feasibility: Low as packaged. Any Laravel path requires discarding the bundle and wrapping bare Krumo behind a custom service provider or helper, dev-gated. That is strictly more work than composer require --dev barryvdh/laravel-debugbar or just using the dump()/dd() helpers already shipped via symfony/var-dumper. There is no auto-discovery, no Facade, no config publish, no service provider.
  • Technical risk: High, on two axes. Supply chain/maintenance: 6 stars, 0 dependents, no evidence of active maintainership, targets Symfony 2.8/3.4 (EOL 2018/2021) and implicitly PHP 5.x–7.x — PHP 8+ compatibility is unestablished, so a modern Laravel runtime will likely hit fatal errors or Composer constraint conflicts. Security: Krumo renders full object graphs as HTML with inline CSS/JS. Dumped values include request payloads, Doctrine entities, credentials, and PII; output is unescaped enough to be an XSS vector, and any accidental non-dev enablement is an information-disclosure incident.
  • Key questions for the requesting team:
    1. Is the real requirement "readable nested-array inspection in-browser," or a full debug toolbar (queries, mail, events, cache)? The latter is Debugbar/Telescope territory.
    2. Is there a specific Krumo behavior (collapsible recursion guards, skin, backtrace/includes/classes helpers) that symfony/var-dumper genuinely cannot cover? I have not seen one articulated.
    3. Where did this package come from — is it a fresh evaluation, or a transitive artifact of a legacy Symfony service still in the portfolio? The answer changes the conversation from "adopt?" to "migrate."
    4. What is the target PHP/Laravel version, and has anyone confirmed the dependency resolves at all?
    5. If pursued, what is the documented removal date and replacement?

Integration Approach

  • Stack fit: None for Laravel. The bundle assumes Symfony kernel/DI conventions Laravel does not provide. The only technically coherent option is standalone Krumo + thin Laravel glue: a KrumoServiceProvider registered conditionally, a dump_krumo() helper, and a config gate on app()->environment(['local','testing']). Treat that as throwaway diagnostic scaffolding, never application infrastructure.
  • Migration path: Do not migrate the bundle. Two clean directions depending on origin:
    • From Symfony 2/3: drop Krumo for symfony/var-dumper (already a Laravel dependency via the framework) or the Web Profiler. Zero call-site churn if you route dumps through a single internal helper.
    • Into Laravel: use dump()/dd() for ad-hoc inspection, Laravel Debugbar for request/query/view timing, Telescope for staged-environment observability, Ray if the team wants a desktop client. All are maintained and PHP 8+ compatible.
  • Compatibility: Expect Composer resolution failures against Laravel 10/11 on PHP 8.1+ from stale Symfony package constraints and pre-PHP-7.2 syntax. Assume no PHP 8 compatibility until proven otherwise by a spike. Assume no Laravel auto-discovery. Assume any test coverage is absent.
  • Sequencing:
    1. Confirm the need with the requester — written statement of the debugging gap and why native tooling fails it. (Expect this step to end the evaluation.)
    2. Benchmark alternatives in a half-day spike: Debugbar + Telescope in a dev branch. This is the recommended spend.
    3. Only if a Krumo-specific requirement survives step 1: timebox a non-production PoC wrapping bare mmucklo/krumo, not the bundle.
    4. If the PoC proceeds: dev/test-only registration, environment + authorization gates, sensitive-field redaction, HTML/JSON response-path tests, and a written removal criterion with an owner and a date.
    5. Keep it out of production dependency graphs — require-dev at most.

Operational Impact

  • Maintenance: Effectively zero upstream support. Six stars and zero dependents means no community backstop, no compatibility testing against modern PHP, and no realistic expectation of a timely fix for a CVE or a PHP minor bump. If we wrap Krumo, the wrapper becomes internally owned code — we inherit the maintenance burden without inheriting any of the value. Plan for it as a liability with an amortization schedule, not an asset.
  • Support: Community-only and thin. There is no vendor, no SLA, no release cadence. Any production incident traced to this package is resolved by us, from source, under time pressure.
  • Scaling: Debug dumping is request-scoped and not a horizontal-scaling concern — but it is a response-size and memory concern. Deep object graphs (large Doctrine collections, recursive entity relations) can exhaust memory_limit or inflate a response by megabytes. It also silently corrupts API contracts: Krumo emits HTML/CSS/JS into the stream, so any dump on a JSON endpoint produces unparseable output and a broken client. Enforce a hard rule: never in controllers that return JsonResponse, never in CLI, never in XHR handlers.
  • Failure modes to plan for: Composer resolution failure at install; class-not-found from the bundle FQCN being wrong or unregistered; Symfony DI assumptions fataling under Laravel; PHP 8 syntax/type errors; broken JSON/API responses; leaked credentials/PII in dumps reaching a shared environment or a screenshot; XSS from unescaped dumped values; memory exhaustion on large graphs; conflicts with Debugbar/Telescope output handling. Note that the most likely failure is "does not install," which is at least a cheap failure.
  • Ramp-up: Trivial for anyone who has used var_dump — Krumo's interaction model is discoverable in thirty seconds. But the net ramp-up is negative versus native tooling: a developer must learn Krumo plus the safety discipline around gating, redaction, and eventual removal. Compare with dd(), which every Laravel developer already knows, or Debugbar, which installs in one command and requires no safety doctrine.
  • Signal value (the thing to actually escalate): Discovering this bundle in a dependency tree is a reliable indicator of legacy Symfony 2/3 surface area still running in the portfolio, likely on EOL PHP. That is a roadmap and risk-register item — a decommissioning candidate — not a tooling decision. Recommend flagging any occurrence for migration triage rather than standardizing on the package.

TPM recommendation: Do not adopt. Redirect the request to Laravel-native tooling (Debugbar, Telescope, dump()/dd(), Ray). Treat mmucklo/krumo-bundle as a legacy-Symfony diagnostic artifact and a portfolio modernization signal. The 4.57 opportunity score reflects a real, unmet need for ergonomic debugging UX — it is not evidence about this repository, which scores 0.22. Do not let the former launder the latter into the backlog.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib