doctrine/annotations
Doctrine Annotations parses and reads docblock annotations for PHP projects. Considered feature complete since PHP 8 attributes are the native replacement; this package now focuses on bugfixes and security fixes. Documentation available on doctrine-project.org.
The package is a legacy docblock annotations parser explicitly marked as feature-complete with only bugfixes and security updates. PHP 8+ native attributes are the official replacement, making this unsuitable for new projects. Architecture fit is limited to legacy systems still using Doctrine ORM 2.x or older components requiring annotations. Integration feasibility is low for greenfield projects but possible for maintaining existing annotation-dependent codebases. Technical risks include future PHP version incompatibility (though unlikely due to minimal changes), diminishing community support, and potential technical debt from maintaining obsolete patterns. The "dependents: 0" on Packagist signals near-zero current ecosystem usage, increasing abandonment risk. Key questions: What PHP version is the target environment? Are there Doctrine ORM 2.x dependencies requiring this? What is the concrete migration timeline to attributes? Are third-party libraries forcing this dependency?
Stack fit is exclusively for PHP <8.0 legacy systems or Doctrine ORM 2.x projects. PHP 8+ environments should never integrate this package—native attributes are superior and natively supported. For existing annotation-dependent codebases, migration to attributes is mandatory. Doctrine's migration guide (referenced in README) provides step-by-step instructions: replace docblock annotations with #[Attribute] syntax, update reader logic to use attribute-aware Doctrine components, and remove this package dependency. Compatibility is limited to older Doctrine versions; ORM 3.0+ and modern libraries fully support attributes without this package. Sequencing must prioritize immediate migration: no new annotation-based features should be added, and all new development must use attributes. If forced to use this temporarily (e.g., for a legacy dependency), treat it as a high
How can I help you explore Laravel packages today?