zendframework/zendservice-recaptcha
A legacy Zend Framework component for integrating Google reCAPTCHA into PHP applications, with service classes to render CAPTCHA challenges, send validation requests, and handle API responses server-side.
Architecture fit
Zend\ServiceManager, Zend\Http, and Zend\Captcha/Zend\Validator abstractions. Laravel's container, HTTP client, and validation pipeline share none of those contracts. Adopting it means importing a parallel DI/config subsystem to perform one outbound HTTP POST.verify() call to Google's siteverify endpoint. The valuable logic is Google's API contract, not the library. Everything it does is reproducible in roughly 50 lines with Laravel's Http facade.Integration feasibility
zend-http, zend-servicemanager, zend-stdlib, zend-validator, zend-captcha) are all archived under the same 2019 sunset. Composer resolution against a modern Laravel app (PHP 8.2+, Guzzle 7 / PSR-7 v2) will likely require version pins or produce conflicts.Technical risk
Key questions
Recommendation: do not adopt. Treat the repository as a reference implementation only.
Stack fit
Http::asForm()->post('https://www.google.com/recaptcha/api/siteverify', [...]), a config entry for site/secret keys, a custom validation rule, and a Blade partial for the widget script.Recaptcha service bound to an interface in the container.Migration path (if code already depends on it)
RecaptchaVerifier interface: verify(string $token, ?string $ip): VerificationResult.composer.json.Compatibility
zend-http conflicts with Guzzle 7. If the package must be retained temporarily, isolate it behind the interface rather than spreading its types through the codebase.Sequencing and effort
Avoid: vendoring or forking the package. The cost of patching exceeds the cost of rewriting.
Maintenance
Support
Scaling
Failure modes to instrument
success: false error codes and treating the response as a pass.Ramp-up
How can I help you explore Laravel packages today?