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

Symfony Laravel Package

feral/symfony

feral/symfony is a small integration package for PHP/Laravel projects that bridges Symfony components into the Laravel ecosystem, offering compatibility helpers for developers who need both frameworks side by side.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • A Symfony bundle is the correct idiomatic surface for exposing a standalone PHP library to Symfony applications: it centralizes service definitions, a Configuration tree, and optional kernel hooks in one registrable unit. The architectural decision to ship a bundle rather than documenting manual wiring is sound.
  • Fit is determined by what Feral actually is. Bundles succeed when the upstream package is a library of services (client, mapper, engine, adapter). They fail when the upstream package has framework-shaped opinions — its own container, router, dispatcher, or kernel lifecycle — because those collide with Symfony's HttpKernel, EventDispatcher, and DI compiler passes. The overlap question is the single highest-leverage unknown here.
  • If Feral is PSR-aligned (PSR-11 container, PSR-3 logger, PSR-15 middleware, PSR-7 messages), the bundle is likely a thin, low-risk adapter. If it is not, the bundle is carrying real translation logic and becomes a component we must own.

Integration feasibility

  • Standard path: composer require feral/symfony, register in config/bundles.php, publish config. If the package declares type: symfony-bundle and ships (or has contributed) a Flex recipe, registration is automatic.
  • Effort to first working install is likely measured in hours, not days. Effort to production confidence is the real cost and is currently unquantified.
  • Zero stars and zero dependents means there is no observable evidence of a successful install anywhere outside the author's own environment. Treat the happy path as unverified until reproduced in a sandbox.

Technical risk

  • Abandonment risk (high). Single-maintainer package with no downstream consumers. No evidence of CI, test coverage, or a security disclosure process.
  • Version drift (high). Bundles accumulate breakage against Symfony majors: removed base classes, deprecated Configuration conventions, changed service-defaults behavior, attribute-vs-annotation routing. An unversioned bridge becomes a blocker at the next Symfony upgrade.
  • Supply-chain (medium). An unvetted transitive dependency entering the container is a privileged position — service definitions execute at compile time and can register listeners on hot paths. composer audit and a source read are mandatory, not optional.
  • Silent misconfiguration (medium). Bundles with permissive config trees tend to fall back to defaults rather than fail loudly, producing behavior that looks correct and isn't.

Key questions

  1. What capability does Feral provide that Symfony (or an established bundle) does not already solve? Is the delta worth a dependency?
  2. Is Feral a library or a framework? Does it ship its own container, router, or dispatcher?
  3. What is the supported matrix — PHP versions, Symfony 6.4 / 7.x / 8.x?
  4. Is there a Flex recipe, and is the package type: symfony-bundle?
  5. Does it pass composer audit? What is the license, and is it compatible with our distribution model?
  6. What is the test suite coverage for the bundle itself, and is CI green on the current Symfony release?
  7. Who owns the fork if the upstream maintainer goes dark? Do we have a replace / VCS-fork contingency?
  8. What listeners, compiler passes, or kernel hooks does the bundle register, and on which request paths?

Integration Approach

Stack fit

  • Assume Symfony 6.4 LTS or 7.x on PHP 8.2+. Verify the bundle's composer.json constraints and any extra.symfony.require pin before evaluation — a missing constraint is itself a finding.
  • Confine Feral behind an internal adapter interface (e.g., App\Contract\XProvider) with a Feral-backed implementation and a no-op or native-Symfony alternative. This keeps the option to remove the dependency without touching domain code.

Migration path

  • Greenfield or bounded context only. Do not retrofit into a system with a constrained upgrade calendar, because the bundle's Symfony-major ceiling becomes your ceiling.
  • Wrap, don't inherit: no extends on Feral or bundle classes in application code; compose through the adapter.

Compatibility

  • Check three axes independently: PHP version, Symfony major, and collisions with existing bundles (duplicate service IDs, shared config namespace under feral:).
  • Confirm autoload namespace isolation and that the bundle does not shadow a Symfony core service ID.
  • Run bin/console debug:container --tag=... and debug:config feral post-install to confirm what was actually registered versus what was documented.

Sequencing

  1. Source review: bundle class, DI extension, Configuration, composer.json, license, last commit date.
  2. Vendor audit: composer audit, dependency tree depth, presence of abandoned transitive packages.
  3. Sandbox spike: minimal Symfony app, one end-to-end behavior, measured against the native alternative.
  4. Internal facade + feature flag in a single non-critical service.
  5. Production observation window, then an explicit build-vs-fork-vs-drop decision with a named owner.

Operational Impact

Maintenance

  • Budget for a fork. At zero downstream usage, upstream will not be responsive to your Symfony 8 upgrade. Plan a vcs repository entry or a vendored fork under our namespace from day one, so the fork is a config change rather than a migration.
  • Pin exact versions in composer.lock and forbid ^ ranges that could pull an unreviewed minor.

Support

  • No vendor, no SLA, no security contact. An internal owner must be named at adoption; without one, this becomes orphaned infrastructure within two quarters.

Scaling

  • The bundle itself is negligible at runtime — it contributes container compile-time work and whatever listeners it registers. Scaling characteristics belong to Feral, not to this package.
  • The one thing worth measuring: if the bundle subscribes to kernel.request or kernel.response, verify it short-circuits or adds latency on high-volume paths. A single unguarded listener is the realistic performance regression vector.

Failure modes

  • Container compile failure after a routine Symfony bump — surfaces at deploy, not in CI, unless the pipeline runs cache:warmup.
  • Config tree drift: documented keys silently ignored, defaults applied.
  • Service ID collision with another bundle, resolved nondeterministically by load order.
  • Upstream abandonment flagged by dependency scanners, forcing an unscheduled removal.
  • Cache warmup failure in production after a deploy that changed nothing in application code.

Ramp-up

  • Low for the bundle, moderate for Feral. A Symfony bundle is typically a few hundred lines of DI wiring — an engineer reads it in under an hour. The real onboarding cost is understanding Feral's semantics, and there is no community documentation, no Stack Overflow corpus, and no third-party tutorials to lean on. That absence, more than the code, is the adoption tax.
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.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource