- Can I use kphoen/contact-bundle in a Laravel application?
- No. kphoen/contact-bundle is a Symfony bundle, not a Laravel package, and there is no shim path between the two frameworks. It ships a Bundle class, a DI extension loading service definitions, Doctrine entities and mappings, Symfony Form types, Twig templates, YAML/XML routing, and Swiftmailer-based delivery — none of which Laravel registers or understands. A Laravel app cannot load a Symfony bundle without booting the Symfony kernel, which is an architectural non-starter for something as small as a contact form.
- Is kphoen/contact-bundle still maintained and safe to install in production?
- No. The repository is archived, the last release was 2016-01-21, and it has 7 stars with 0 dependents, placing it in the PHP 5.6/7.0 and Symfony 2.8/3.x era. Its delivery layer is Swiftmailer, which reached end of life in November 2021 and receives no security patches, so there is no CVE response path. Pinning it into a modern dependency graph will either fail Composer resolution outright or force transitive downgrades that compromise the rest of the application.
- What PHP and Symfony versions does kphoen/contact-bundle require?
- The bundle targets the PHP 5.6/7.0 and Symfony 2.8/3.x era, which predates current runtimes by four or more major PHP versions. It will not install in a modern Laravel or Symfony stack, and even in a legacy Symfony application it would pull in end-of-life mail infrastructure. There is no forward-compatibility story and no maintainer to produce one.
- How do I install kphoen/contact-bundle with Composer?
- Historically you would run composer require kphoen/contact-bundle and then register the bundle in your Symfony AppKernel, import its routing and configure the persistence driver. That workflow only applies to Symfony 2.8/3.x applications, and the package is archived with no updates since 2016. For a Laravel project there is nothing to install, because the bundle cannot be registered or booted by Laravel's service container.
- Does kphoen/contact-bundle support Doctrine ORM and MongoDB ODM?
- Yes. The bundle supports both Doctrine ORM and MongoDB ODM as persistence layers, which was a notable flexibility feature for Symfony applications of that era. That abstraction is Symfony-specific, so it does not translate to Laravel's Eloquent or query builder, and copying the mappings into a Laravel app would gain you nothing. In a native Laravel build you would simply use Eloquent, and only if persistence is actually required.
- What fields and validation does the contact bundle provide, and can they be customized?
- The bundle ships a contact submission payload with configurable fields and validation, plus ready-to-use CRUD controllers, forms, and Twig views for creating, editing, listing, and deleting contacts. Configuration and validation are defined through Symfony's Form component and bundle configuration, with an extensible architecture for custom fields and logic. All of that customization happens inside Symfony idioms that Laravel cannot consume, so the practical value is limited to seeing which fields and rules the original author considered necessary.
- How does kphoen/contact-bundle send emails, and is that mailer still supported?
- Delivery is handled through Swiftmailer, which is Symfony's mail integration of that period. Swiftmailer reached end of life in November 2021 and receives no security patches, so using it means shipping EOL mail infrastructure with no upgrade path. The Laravel equivalent is a Mailable class with a Blade template dispatched through the Mail facade, ideally inside a queued job so the HTTP response is not blocked on SMTP.
- What is the realistic risk of depending on an archived Symfony bundle with zero dependents?
- High and unrecoverable. The artifact is archived, last released in 2016, and has 7 stars and 0 dependents, meaning there is no community pressure to fix anything and no maintainer to respond to a vulnerability report. Composer resolution against a modern Laravel stack will fail or force downgrades, and any transitive package it drags in becomes unpatched by association. The MIT license keeps legal reuse clean, but licensing is not the risk here — a dead dependency without a CVE response path is.
- What is the best Laravel alternative to kphoen/contact-bundle?
- Build the module natively rather than adapting the bundle. A production-worthy minimum is a ContactController with a StoreContactRequest FormRequest covering validation, a honeypot, and rate limiting via throttle middleware, plus a ContactMessage Mailable rendered from a Blade template and dispatched through a queued job. Drive recipient routing from config/contact.php so operations can retarget without a deploy, and add a contact_messages migration only if the requirement calls for persistence or audit. Feature tests should cover validation rejection, successful dispatch, and rate-limit behavior; the realistic effort is one to two developer-days including tests.
- What license does kphoen/contact-bundle use, and can I reuse its code as a design reference?
- The bundle is MIT licensed, so legal reuse is clean. The realistic use of the repository today is reference reading: how it models a contact submission, which fields it validates, how it routes recipients, and whether it persists submissions or fires and forgets. That is roughly an hour of review, and every transferable concept — the payload shape, the validation rules, the recipient-routing config, the optional persistence record — has a first-class Laravel equivalent. The code, wiring, and templates themselves are throwaway.