k-kinzal / deriver
Derive PHP values, state and dependencies without executing application code
Requires
- php: ^8.1
- nikic/php-parser: ^5.9
- symfony/console: ^6.4
- symfony/yaml: ^6.4
Requires (Dev)
- behat/behat: ^3.14
- brianium/paratest: ^7.3
- deptrac/deptrac: ^3.0
- friendsofphp/php-cs-fixer: ^3.95.25
- k-kinzal/php-ai-toolkit: dev-main
- mikey179/vfsstream: ^1.6
- php-mock/php-mock: ^2.7
- phpbench/phpbench: ^1.4
- phpcompatibility/php-compatibility: ^10.0.0-alpha2
- phpstan/phpstan: ^2.1
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^4.0.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-19 10:29:22 UTC
README
Deriver finds candidate values of PHP expressions without executing application code. Results retain unresolved inputs and the evidence behind each candidate.
Candidates describe value alternatives without proving that their control-flow conditions hold. For example, return false ? 1 : 2 yields both 1 and 2. Conditions and loop counts are not evaluated merely to select candidates. Applications can supply evaluators or evaluate and filter the returned candidates themselves. See candidate dependencies.
Requirements
- PHP 8.1+
Getting Started
$ composer require --dev k-kinzal/deriver $ vendor/bin/deliver --help Description: Derive candidate values from PHP source without executing it. Usage: deliver [options] [--] <query> Arguments: query Selector, for example App\answer#return. Options: -c, --config=CONFIG Load a YAML configuration file. --path=PATH Search root; repeat for multiple directories. Defaults to the current directory. (multiple values allowed) --include=INCLUDE Root-relative include wildcard; repeat to combine patterns. Defaults to **/*.php. (multiple values allowed) --exclude=EXCLUDE Root-relative exclude wildcard; exclusions win. (multiple values allowed) --php-version=PHP-VERSION Target PHP major.minor version; defaults to the library setting. --format=FORMAT Report format: text or json. Defaults to text. -h, --help Display help for the given command. When no command is given display help for the deliver command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
See the command line, configuration, queries, and reports.
License
MIT License. See LICENSE for details.