PHP 클래스 Vimeo\ABLincoln\Experiments\AbstractExperiment

파일 보기 프로젝트 열기: vimeo/ablincoln

보호된 프로퍼티들

프로퍼티 타입 설명
$assignment
$in_experiment
$inputs
$logger_configured
$name
$salt

공개 메소드들

메소드 설명
__construct ( mixed $inputs ) Set up attributes needed for experiment
__toString ( ) : string JSON representation of exposure log data - triggers exposure log
assign ( Assignment $params, array $inputs ) Add parameters used in experiment to current assignment
exposureLogged ( ) : boolean See whether the experiment has already been exposure logged
get ( string $name, string $default = null ) : the Get the value of a given experiment parameter - triggers exposure log
getParams ( ) : array Get all experiment parameters - triggers exposure log. In general, this should only be used by custom loggers
inExperiment ( ) : boolean In-experiment accessor
logEvent ( string $eventType, array $extras = null ) Log an arbitrary event
logExposure ( array $extras = null ) Logs exposure to treatment
name ( ) : string Experiment name accessor
salt ( ) : string Experiment-level salt accessor
setAutoExposureLogging ( boolean $value ) Disables / enables auto exposure logging (enabled by default)
setExposureLogged ( boolean $value ) Set whether the experiment has been exposure logged
setInExperiment ( boolean $value ) In-experiment setter
setName ( string $value ) Experiment name setter
setOverrides ( array $overrides ) Sets variables that are to remain fixed during execution. Note that setting this will overwrite inputs to the experiment
setSalt ( string $value ) Experiment-level salt setter
setup ( ) * Optionally set experiment attributes before run, e.g. name and salt

보호된 메소드들

메소드 설명
_asBlob ( array $extras = [] ) : array Get an array representation of the experiment data
_configureLogger ( ) Set up files, database connections, sockets, etc for logging
_log ( array $data ) Log experiment data
_previouslyLogged ( ) : boolean Check if the input has already been logged. Gets called once in the constructor
_requiresExposureLogging ( ) Checks if experiment requires exposure logging, and if so exposure logs

비공개 메소드들

메소드 설명
_assignSetup ( ) Assignment and setup that happens when we need to log data
_requiresAssignment ( ) Checks if an assignment has been made, assigns one if not

메소드 상세

__construct() 공개 메소드

Set up attributes needed for experiment
public __construct ( mixed $inputs )
$inputs mixed input value or array to determine parameter assignments, e.g. userid

__toString() 공개 메소드

JSON representation of exposure log data - triggers exposure log
public __toString ( ) : string
리턴 string JSON representation of exposure log data

_asBlob() 보호된 메소드

Get an array representation of the experiment data
protected _asBlob ( array $extras = [] ) : array
$extras array extra data to include in array
리턴 array experiment data

_configureLogger() 추상적인 보호된 메소드

Set up files, database connections, sockets, etc for logging
abstract protected _configureLogger ( )

_log() 추상적인 보호된 메소드

Log experiment data
abstract protected _log ( array $data )
$data array data to log

_previouslyLogged() 추상적인 보호된 메소드

Check if the input has already been logged. Gets called once in the constructor
abstract protected _previouslyLogged ( ) : boolean
리턴 boolean true if previously logged, false otherwise

_requiresExposureLogging() 보호된 메소드

Checks if experiment requires exposure logging, and if so exposure logs
protected _requiresExposureLogging ( )

assign() 추상적인 공개 메소드

Add parameters used in experiment to current assignment
abstract public assign ( Assignment $params, array $inputs )
$params Vimeo\ABLincoln\Assignment assignment in which to place new parameters
$inputs array input data to determine parameter assignments

exposureLogged() 공개 메소드

See whether the experiment has already been exposure logged
public exposureLogged ( ) : boolean
리턴 boolean true if exposure logged, false otherwise

get() 공개 메소드

Get the value of a given experiment parameter - triggers exposure log
public get ( string $name, string $default = null ) : the
$name string parameter to get the value of
$default string optional value to return if parameter undefined
리턴 the value of the given parameter

getParams() 공개 메소드

Get all experiment parameters - triggers exposure log. In general, this should only be used by custom loggers
public getParams ( ) : array
리턴 array experiment parameters

inExperiment() 공개 메소드

In-experiment accessor
public inExperiment ( ) : boolean
리턴 boolean true if currently in experiment, false otherwise

logEvent() 공개 메소드

Log an arbitrary event
public logEvent ( string $eventType, array $extras = null )
$eventType string name of event to log
$extras array optional extra data to include in log

logExposure() 공개 메소드

Logs exposure to treatment
public logExposure ( array $extras = null )
$extras array optional extra data to include in exposure log

name() 공개 메소드

Experiment name accessor
public name ( ) : string
리턴 string the experiment name

salt() 공개 메소드

Experiment-level salt accessor
public salt ( ) : string
리턴 string the experiment-level salt

setAutoExposureLogging() 공개 메소드

Disables / enables auto exposure logging (enabled by default)
public setAutoExposureLogging ( boolean $value )
$value boolean true to enable, false to disable

setExposureLogged() 공개 메소드

Set whether the experiment has been exposure logged
public setExposureLogged ( boolean $value )
$value boolean true if exposure logged, false otherwise

setInExperiment() 공개 메소드

In-experiment setter
public setInExperiment ( boolean $value )
$value boolean true if currently in experiment, false otherwise

setName() 공개 메소드

Experiment name setter
public setName ( string $value )
$value string value to set the experiment name

setOverrides() 공개 메소드

Sets variables that are to remain fixed during execution. Note that setting this will overwrite inputs to the experiment
public setOverrides ( array $overrides )
$overrides array parameter name/value pairs to use as overrides

setSalt() 공개 메소드

Experiment-level salt setter
public setSalt ( string $value )
$value string value to set the experiment-level salt

setup() 공개 메소드

* Optionally set experiment attributes before run, e.g. name and salt
public setup ( )

프로퍼티 상세

$assignment 보호되어 있는 프로퍼티

protected $assignment

$in_experiment 보호되어 있는 프로퍼티

protected $in_experiment

$inputs 보호되어 있는 프로퍼티

protected $inputs

$logger_configured 보호되어 있는 프로퍼티

protected $logger_configured

$name 보호되어 있는 프로퍼티

protected $name

$salt 보호되어 있는 프로퍼티

protected $salt