daylerees / scientist-laravel
Allow the Scientist library to be used with the Laravel PHP framework.
0.1.1-alpha
2016-02-05 23:31 UTC
Requires
- daylerees/scientist: ^0.1.1@alpha
- laravel/framework: 5.*
This package is not auto-updated.
Last update: 2024-12-21 19:37:16 UTC
README
Scientist for Laravel
Allow the Scientist library to be used with the Laravel PHP framework.
Installation
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!
Usage
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!