{"adoption": {"forks": 138, "observed_at": "2026-09-03T02:15:08.013671+00:00", "stars": 1247}, "canonical_url": "https://ross.abutalabs.com/products/betterreflection", "card": {"archived": false, "artifact_type": "library", "description": ":crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.", "domain": ["developer-tools", "programming-languages"], "enriched": true, "function": ["parser", "developer-tools"], "health_score": 100, "homepage": null, "language": "PHP", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Roave/BetterReflection"], "name": "Roave/BetterReflection", "platform": ["php", "cli"], "pushed_at": "2026-09-02T21:44:02+00:00", "repo": "Roave/BetterReflection", "stars": 1247, "tags": ["reflection", "static-analysis", "ast", "php", "code-introspection"], "topics": ["hacktoberfest"], "urls": [], "use_cases": ["reflect on PHP classes without loading them", "extract AST from methods and functions", "analyze type declarations and doc blocks statically", "reflect on classes from a string of PHP code", "build static analysis or code quality tools", "inspect closures and return types in PHP 7 code"], "what_it_is": "Better Reflection is a PHP library providing an enhanced reflection API that can reflect on classes not yet loaded, from code strings, and expose ASTs of methods and functions. It is designed primarily for static analysis tooling rather than runtime use, where native PHP reflection is faster.", "when_to_avoid": ["runtime reflection in performance-sensitive applications", "you only need features native PHP reflection already offers", "you need to statically reflect on plain functions"], "when_to_choose": ["building static analysis tooling in PHP", "you need type information or ASTs that native reflection cannot provide", "you must inspect code without triggering autoloading"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/betterreflection", "repo": "Roave/BetterReflection", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:08.013671+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:01.294404+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c50574cd416736bacea41f71fcb395185b93e011c3cfe74361dd9323c39e1de", "fetched_at": "2026-09-03T02:15:08.013671+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Roave/BetterReflection"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 94}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4108, "days_push": 0, "days_rel": 42, "gap_med": 9.0, "n_releases_24m": 31}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}