Allow the Scientist library to be used with the Laravel PHP framework.
daylerees/scientist-laravel is a Laravel package for allow the scientist library to be used with the laravel php framework..
It currently has 54 GitHub stars and 84 downloads on Packagist (latest version 0.1.1-alpha).
Install it with composer require daylerees/scientist-laravel.
Discover more Laravel packages by daylerees
or browse all Laravel packages to compare alternatives.
Last updated
Allow the Scientist library to be used with the Laravel PHP framework.
Require the latest version of Scientist Laravel using Composer.
composer require daylerees/scientist-laravel
Next, add the service provider to the providers section of config/app.php in your Laravel project.
<?php
return [
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/
'providers' => [
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
Scientist\Laravel\ScientistServiceProvider::class,
],
];
Finally, register the Facade within the aliases section of config/app.php.
<?php
return [
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Scientist' => Scientist\Laravel\Facade::class,
],
];
You're good to go!
You can access the Scientist Laboratory through the Scientist facade.
<?php
$value = Scientist::experiment('foo')
->control($controlCallback)
->trial('First trial.', $trialCallback)
->run();
Or, inject the Laboratory into a container resolved class or controller action.
<?php
use Scientist\Laboratory;
class FooController extends Controller
{
public function index(Laboratory $laboratory)
{
return $laboratory->experiment('foo')
->control(function() { ... })
->trial('First trial.', function() { ... })
->run();
}
}
See the Scientist documentation for more information!
Enjoy!