- What is Chumper/Zipper used for in Laravel?
- Chumper/Zipper is a thin Laravel wrapper around PHP's ZipArchive extension. It provides a facade and convenience methods to create ZIP archives, add files or folders, extract contents, and manage entries. It is suited to simple legacy monoliths and internal tools that need basic archive handling, not modern streaming or object-storage workflows.
- How do I install Chumper/Zipper in Laravel?
- Historically you install it with Composer using chumper/zipper, then register its service provider and Zipper facade in Laravel's configuration. On older Laravel versions this means editing config/app.php; newer apps may rely on package discovery, but support is unproven. Confirm ext-zip is enabled and that Composer resolves the package against your PHP and Laravel versions before relying on it.
- Which Laravel and PHP versions does Chumper/Zipper support?
- The package was last released in 2020, so its declared constraints target older Laravel and PHP versions. Modern Laravel and PHP compatibility is not proven and may fail Composer resolution. Validate the exact PHP and Laravel matrix in CI and check composer why or composer prohibits before adopting it.
- Is Chumper/Zipper maintained or abandoned?
- There has been no upstream maintenance since 2020, so treat Chumper/Zipper as abandoned legacy code. Security patches, compatibility fixes, and bug fixes are the responsibility of the owning team. Community support exists but current knowledge is limited, especially for modern Laravel.
- Is Chumper/Zipper safe for extracting user-uploaded ZIP files?
- Not by itself; like any ZipArchive wrapper, Chumper/Zipper does not remove the need to validate extraction paths and archive contents. User-uploaded ZIPs can expose zip-slip path traversal, archive bombs, memory or disk exhaustion, and unsafe file permissions. Validate target paths, enforce size and file-count limits, scan content, and extract in a sandboxed location.
- Can Chumper/Zipper handle large archives or stream files to S3?
- It is adequate for small to moderate internal archives but is not designed for streaming directly to or from object storage such as S3. Large archives or high concurrency can exhaust memory, disk, and request time because the wrapper relies on ext-zip and local files. If you need streaming, encryption, or direct S3 support, choose a maintained archive library or implement native handling.
- How do I test code that uses Chumper/Zipper?
- Wrap Zipper calls behind an internal ArchiveService interface so tests can replace the implementation with a fake or use native ZipArchive fixtures. Use contract tests with representative ZIP files covering nested directories, Unicode filenames, permissions, and extraction failures. Avoid mocking the facade everywhere; isolate archive behavior in a small adapter and test that adapter against real archives.
- What are good alternatives to Chumper/Zipper?
- For simple cases, use PHP's native ZipArchive directly or a maintained framework-agnostic ZIP library. If you need Laravel integration, evaluate maintained packages and confirm Laravel and PHP support, security posture, and release activity. Avoid choosing abandoned wrappers for greenfield services.
- How do I migrate away from Chumper/Zipper?
- Inventory every Zipper facade and service-provider usage, capture current behavior with contract tests, and move calls behind an internal archive interface. Replace the implementation with native ZipArchive or a maintained library, then verify archive compatibility with fixtures. Remove the package and update runbooks after low-risk paths migrate first.
- What should I check before using Chumper/Zipper in production?
- Before production use, confirm Composer resolves cleanly, ext-zip is present in runtime images, and the exact PHP and Laravel matrix is tested in CI. Review whether archives are trusted internal artifacts or user uploads, set maximum sizes and concurrency, and validate extraction paths. Because the package is unmaintained, define an owner, security-response expectation, and migration plan before shipping.