A PHP experimentation library inspired by Github's own Scientist.
See the codeA 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.
Bridges allow for Scientist to be used seamlessly with other frameworks and libraries.
Matchers allow for complex types to be matched.
Interfaces allow for experiment data to be viewed in a clear way.
189 followers · starred Nov 2018
198 followers · starred Feb 2016
619 followers · starred Feb 2016
598 followers · starred Feb 2016
A PHP experimentation library inspired by Github's own Scientist.
See the codeA 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.
Bridges allow for Scientist to be used seamlessly with other frameworks and libraries.
Matchers allow for complex types to be matched.
Interfaces allow for experiment data to be viewed in a clear way.
189 followers · starred Nov 2018
198 followers · starred Feb 2016
619 followers · starred Feb 2016
598 followers · starred Feb 2016