zetacomponents/image-analysis
PHP component from Zeta Components for analyzing image files. It detects MIME type, image format, dimensions, and animation status using GD or ImageMagick backends, making it useful for validating uploads and describing images in PHP applications.
Verdict: Do not adopt as a new dependency for a Laravel application. The only defensible use is a short-lived, quarantined adapter inside an existing Zeta/eZ Components estate that is migrating off it. The 0.195 composite score, 3 stars, 0 dependents, and a NOASSERTION license identifier all point the same direction: this is legacy code with no community safety net, and the 46.87 opportunity score reflects an under-served niche (PHP-level image metadata inspection), not package quality.
Architecture fit
ezcImageAnalyzer, ezcImageAnalyzerData, ezcImageAnalyzerPhp / ezcImageAnalyzerImagemagick handlers) with no service provider, no container bindings, no configuration publishing, and no PSR-3 logging — the opposite of idiomatic Laravel packaging.ezcBase autoload bootstrap. That makes it a two-package commitment for what is functionally a thin wrapper over getimagesize(), finfo, ext/exif, and optionally the ImageMagick identify binary.getimagesize(), symfony/mime, intervention/image (v3), spatie/image, and league/glide.Integration feasibility
--ignore-platform-reqs, a Composer patch, or a fork — all of which should be a red flag in a review.Technical risk
NOASSERTION on the repository metadata. Upstream Zeta Components is generally Apache-2.0, but a TPM cannot ship on "generally" — legal must confirm the LICENSE file and NOTICE obligations before any production use.Key questions
Stack fit
ImageInspector::inspect(UploadedFile|string $source): ImageMetadata — and implement two adapters: a native adapter (finfo + getimagesize + ext-exif) as the default binding, and a legacy Zeta adapter behind a config flag.ezc* symbols never leak into application code.Migration path
composer.json.Compatibility
ezcImageAnalyzerException with numeric codes; translate to a domain exception at the adapter boundary so the rest of the app never depends on Zeta semantics.Illuminate contracts, and no config/ integration — everything must be hand-wired in a service provider.Sequencing
Maintenance
roave/security-advisories will not protect you on an abandoned fork.Support
Scaling
Failure modes
ezcImageAnalyzerException.symfony/mime verification.Ramp-up
ezc* conventions, so onboarding costs ~1 day per engineer for the conceptual model and another day to understand the exception/error-code surface. The native alternative has effectively zero ramp-up because every PHP developer already knows getimagesize().How can I help you explore Laravel packages today?