smartassert/doctrine-inspectors
Inspect Doctrine ORM entities and metadata programmatically. smartassert/doctrine-inspectors provides utilities for examining entity classes, fields, associations, and mappings, useful for analysis, validation, and tooling in Doctrine-based PHP applications.
laravel-doctrine/doctrine/orm alongside Eloquent, this is the low-cost way to keep mapping drift out of production. Useful as a decision input for "do we keep Doctrine, migrate to Eloquent, or run both" — the inspector's output quantifies how tangled the existing mapping graph already is.Adopt when:
laravel-doctrine) and mapping correctness is currently validated only by "does the app boot" or by integration tests that touch a live schema.MappingExceptions in staging.smartassert/*) as a dev-only dependency, and to vendor/pin it.Look elsewhere when:
doctrine/orm validate-schema command and phpstan-doctrine cover a large overlapping surface with far more users and examples.For executives: A small, free open-source library that catches broken database-mapping definitions in our automated build instead of in production. Cost is near zero — a dev dependency and a CI step — and the payoff is fewer staging/production surprises on schema changes. The 4.0 release adds no new capability; it refreshes the maintainer's tooling and, importantly, requires PHP 8.4. So the real decision is not "should we use this" but "is our PHP 8.4 upgrade on schedule" — if yes, this is a cheap quality win we should take; if no, we defer and lose nothing today.
For engineering: 4.0 is a housekeeping major: PER-CS replaces PSR-12, PHPStan moves to ^2, PHPUnit to ^12, CI fixed, and the runtime floor is now PHP 8.4. Treat it as a breaking bump for platform reasons, not API reasons — expect dependency-resolution and static-analysis-baseline churn, not code rewrites. Recommended path: pin 3.x on services below PHP 8.4, adopt 4.x on services already there, run it as a non-blocking CI job for one sprint to see the real error volume, then promote it to blocking. Caveats to state plainly: single-maintainer project, minimal docs, and meaningful overlap with phpstan-doctrine and doctrine:validate-schema — sequence it alongside those rather than as a replacement.
How can I help you explore Laravel packages today?