| Package Data | |
|---|---|
| Maintainer Username: | daylerees | 
| Maintainer Contact: | me@daylerees.com (Dayle Rees) | 
| Package Create Date: | 2016-02-05 | 
| Package Last Update: | 2016-02-05 | 
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-28 03:03:23 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 84 | 
| Monthly Downloads: | 0 | 
| Daily Downloads: | 0 | 
| Total Stars: | 54 | 
| Total Watchers: | 2 | 
| Total Forks: | 3 | 
| Total Open Issues: | 1 | 
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!