A CLI tool that detects soft dependencies in PHP projects by checking for symbols not declared in composer.json.
ComposerRequireChecker is a command-line tool that analyzes PHP projects to detect "soft" dependencies—symbols (classes, functions, constants) used in your code that aren't explicitly declared in your `composer.json` file. It solves the problem of unexpected breaks when indirect dependencies update by ensuring all dependencies are hard-declared.
PHP developers and teams managing Composer-based projects who want to maintain explicit, stable dependencies and avoid surprises from transitive dependency updates.
Developers choose ComposerRequireChecker for its focused, lightweight approach to dependency validation—it doesn't require full Composer installation, offers configurable whitelists, and integrates into CI workflows to enforce dependency hygiene.
A CLI tool to check whether a specific composer package uses imported symbols that aren't part of its direct composer dependencies
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Identifies soft dependencies like classes and functions not in composer.json, preventing breaks from transitive updates as illustrated in the README's Guzzle example.
Checks for use of PHP functions requiring specific extensions, warning if they aren't declared in composer.json, ensuring environment compatibility.
Allows whitelisting of symbols and scanning of additional files via a JSON config file, enabling customization for complex projects.
Runs without installing dependencies via Composer, making it suitable for CI pipelines and analysis on any directory structure.
Adding to the whitelist requires copying entire sections in the config file, as noted in the README, making updates cumbersome and error-prone.
Fails to detect dependencies correctly with custom Composer installer plugins without a workaround, requiring extra steps like installing without plugins.
Can cause errors and slowdowns when Xdebug is enabled, necessitating environment adjustments or disabling Xdebug, as admitted in the README.