A PHP experiment library inspired by Github's own Scientist.
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.
Users of scientist contribute a variety of resources to enhance the functionality of the application.
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 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 allow for complex types to be matched.
Interfaces allow for experiment data to be viewed in a clear way.
- None yet. Would you like to build one?