Package Data | |
---|---|
Maintainer Username: | jampot5000 |
Maintainer Contact: | jholcroft@gmail.com (Jamie Holcroft) |
Package Create Date: | 2016-09-20 |
Package Last Update: | 2018-03-20 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-12-19 03:09:00 |
Package Statistics | |
---|---|
Total Downloads: | 8 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 1 |
Total Open Issues: | 1 |
Allows the Scientist library to be used with the Laravel PHP framework, and adds the migrations/models for storing the resulting information with eloquent.
Require the latest version of Eloquent Scientist using Composer.
composer require jampot5000/eloquent-scientist
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,
Jampot5000\EloquentScientist\ServiceProvider::class,
],
];
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' => Jampot5000\EloquentScientist\Facade::class,
],
];
Run the migrations
php artisan migrate
You're good to go!
You can publish the configuration file
php artisan vendor:publish
This will allow you to configure the models used and add additional reporters
You can access the Eloquent 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!
Dayle Rees - For porting the Scientist Library to PHP, and for the original laravel package this idea came from.