2017 © Pedro Peláez
 

library scientist-utility-matcher

Utility Matchers for Scientist

image

danhanly/scientist-utility-matcher

Utility Matchers for Scientist

  • Sunday, February 7, 2016
  • by danhanly
  • Repository
  • 0 Watchers
  • 0 Stars
  • 36 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Scientist, (*1)

Scientist Utility Matchers

Packagist Version Packagist, (*2)

Simple type, utility matchers for use with the Scientist Library, (*3)

1. Installation

Require the latest version of Scientist Symfony using Composer., (*4)

composer require danhanly/scientist-utility-matcher

2. Matchers

There are a number of simple matchers packaged within this project, for use with your experiments., (*5)

2.1 ObjectPropertyMatcher

This allows you to match specific properties on objects returned with the control and trial processes., (*6)

When initialising the matcher, you can configure it to either match against a single property (via string), or multiple properties (via array), (*7)

// initialise matcher
$matcher = new \DanHanly\Scientist\UtilityMatchers\ObjectPropertyMatcher;
// define property via string
$matcher->setProperties('propertyName');
// or via array
$matcher->setProperties(['propertyName', 'anotherPropertyName']);

You can also set properties directly via the matcher constructor., (*8)

// define property via string
$matcher = new \DanHanly\Scientist\UtilityMatchers\ObjectPropertyMatcher('propertyName');
// or via array
$matcher = new \DanHanly\Scientist\UtilityMatchers\ObjectPropertyMatcher(['propertyName', 'anotherPropertyName']);

2.2 ArrayKeyMatcher

This allows you to match specific keys on arrays returned with the control and trial processes., (*9)

2.2.1 Simple Key Matching

When initialising the matcher, you can configure it to either match against a single key (via string), or multiple keys (via array), (*10)

// initialise matcher
$matcher = new \DanHanly\Scientist\UtilityMatchers\ArrayKeyMatcher;
// define keys via string
$matcher->setKeys('keyName');
// or via array
$matcher->setKeys(['keyName', 'anotherKeyName']);

You can also set keys directly via the matcher constructor., (*11)

// define key via string
$matcher = new \DanHanly\Scientist\UtilityMatchers\ArrayKeyMatcher('keyName');
// or via array
$matcher = new \DanHanly\Scientist\UtilityMatchers\ArrayKeyMatcher(['keyName', 'anotherKeyName']);

2.2.2 Deep Key Matching

Array deep key matching can be done with the -> delimiter., (*12)

Say for example you wanted to match the zip code of an address, but the address is stored in $array['data']['user']['address']['zip'], your matching notation would be data->user->address->zip, (*13)

// define key via string
$matcher = new \DanHanly\Scientist\UtilityMatchers\ArrayKeyMatcher('data->user->address->zip');

2.3 MinMaxMatcher

This allows you to ensure that both the trial values and the control values are within a predefined threshold., (*14)

When initialising the matcher, you can configure it to match only those that are greater than a minimum value, those that are less than a maximum value, or a combination of both., (*15)

The first parameter is the minimum value, the second parameter is the maximum value., (*16)

// intialise with a 0 minimum
$matcher = new \DanHanly\Scientist\UtilityMatchers\MinMaxMatcher(0);
// intialise with a 10 maximum
$matcher = new \DanHanly\Scientist\UtilityMatchers\MinMaxMatcher(null, 10);
// intialise between 0 and 10
$matcher = new \DanHanly\Scientist\UtilityMatchers\MinMaxMatcher(0, 10);

3. Usage

Once you've initialised and configured your matcher, you can use it within your experiments., (*17)

$experiment = (new Scientist\Laboratory)
  ->experiment('experiment title')
  ->control($controlCallback)
  ->trial('trial name', $trialCallback)
  ->matcher($matcher);

The Versions

07/02 2016

dev-master

9999999-dev

Utility Matchers for Scientist

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Hanly

07/02 2016

0.2.0

0.2.0.0

Utility Matchers for Scientist

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Hanly

07/02 2016

0.1.1

0.1.1.0

Utility Matchers for Scientist

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Hanly

07/02 2016

0.1.0

0.1.0.0

Utility Matchers for Scientist

  Sources   Download

MIT

The Requires

 

The Development Requires

by Dan Hanly