daylerees / scientist
A PHP experimentation library inspired by Github's own Scientist.
Installs: 1 030 319
Dependents: 8
Suggesters: 0
Security: 0
Stars: 782
Watchers: 34
Forks: 44
Open Issues: 1
Requires
- php: >=7.3
Requires (Dev)
- phing/phing: ^2.13
- php-parallel-lint/php-parallel-lint: ^1.3
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^2.9
This package is not auto-updated.
Last update: 2024-12-21 07:44:55 UTC
README
Scientist
A PHP experiment library inspired by Github's own Scientist.
Introduction
Scientist is an experimentation framework for PHP that will allow you to refactor and improve upon existing code in a live environment, without incurring risk or breakages.
Simply define an experiment, sit back, and let the results flow in.
<?php // We need a Laboratory to do science. $experiment = (new Scientist\Laboratory) // Define an experiment with a name. ->experiment('experiment title') // Set a callback containing our control code. ->control($controlCallback) // Set a callback containing our trial code. ->trial('trial name', $trialCallback); // Run the experiment, receiving the control return value. $value = $experiment->run();
A more detailed description, and full documentation is available.
User Contributed Resources
Users of scientist contribute a variety of resources to enhance the functionality of the application.
Journals
Journals allow experiment data to be sent to data stores for later inspection.
- PSR-3 / Monolog by Nikko Bautista. - Write experiments to any PSR-3 compatible logger.
Bridges
Bridges allow for Scientist to be used seamlessly with other frameworks and libraries.
- Laravel by Dayle Rees - Use Scientist with the Laravel PHP framework.
- Symfony by Dan Hanly - Use Scientist with the Symfony PHP framework.
- Silex by Mauro Moreno - Use Scientist with the Silex micro-framework.
Matchers
Matchers allow for complex types to be matched.
Interfaces
Interfaces allow for experiment data to be viewed in a clear way.
- None yet. Would you like to build one?