zf1/zend-exception
Zend Framework 1 Exception component repackaged for Composer. Lets you install only the exception-related pieces of ZF1 with optimized autoloading and smaller footprint, easing incremental migration without pulling the full framework.
Throwable system.ExceptionHandler and Throwable are sufficient. Modern alternatives like symfony/error-handler or league/commonmark offer better compatibility.Zend_Exception, Zend_Controller_Exception), which may conflict with Laravel’s Exception classes.register(), report()).Zend_Exception::formatStackTrace()) that aren’t available in Laravel’s native system.For Executives: "This package lets us modernize our Laravel application’s legacy components by adopting Composer for ZF1 dependencies—reducing deployment bloat and technical debt while keeping our existing error-handling logic intact. It’s a low-risk, incremental step toward phasing out ZF1, saving development time and future-proofing our stack. Since it’s BSD-licensed and part of a legacy framework, the risk is minimal compared to custom solutions. The real value? Faster deployments (smaller vendor dir) and a clear path to deprecate ZF1 over time."
For Engineering (Tech Leads/Architects): *"The zf1/zend-exception package gives us:
require_once calls with PSR-0 autoloading, cutting down on included files.App\Exceptions\LegacyException) to avoid breaking changes.Tradeoffs:
Throwable or a modern alternative (e.g., Symfony’s ErrorHandler).ExceptionHandler.For Developers: *"If you’re working on a Laravel project with ZF1 remnants and want to:
Zend/Exception.php and use Composer instead,vendor/ dir with unused ZF1 files,Zend_Exception but in a Laravel-friendly way,this package is a quick win. Just add it to composer.json, wrap ZF1 exceptions in a proxy class, and plan to replace them in the next major refactor.
Pro Tip:
composer why zf1/zend-exception to check for unintended ZF1 dependencies.ExceptionHandler::render() to convert Zend_Exception to JSON/API responses seamlessly.@deprecated Use \App\Exceptions\CustomException instead)."*How can I help you explore Laravel packages today?