File manager - Edit - /home/verseaumee/maze/wp-content/plugins/woocommerce-payments/includes/class-onboarding-experiment-abtest.php
Back
<?php /** * Variant of Experimental_Abtest used by the accelerated-onboarding experiment. * * @package WooCommerce\Payments */ namespace WCPay; defined( 'ABSPATH' ) || exit; /** * Variant of Experimental_Abtest that returns null on failure so callers can * distinguish a real 'control' assignment from a transient fetch failure that * shouldn't be cached. * * The parent's get_variation() collapses no-consent and WP_Error fetch failures * into a real-looking 'control' string. That makes it impossible for the caller * to know whether to persist the assignment, which would otherwise lock a * merchant who first encounters the experiment during an ExPlat outage into * 'control' for the lifetime of the experiment. * * @internal Remove together with Onboarding_Experiment when the experiment ends. */ final class Onboarding_Experiment_Abtest extends Experimental_Abtest { /** * Whether tracking consent was granted at construction time. * * Mirrors the parent's private $consent so this subclass can branch on it * without modifying the parent class. * * @var bool */ private $is_consented; /** * Constructor. * * @param string $anon_id ExPlat anonymous ID. * @param string $platform ExPlat platform name. * @param bool $consent Whether tracking consent is given. */ public function __construct( string $anon_id, string $platform, bool $consent ) { parent::__construct( $anon_id, $platform, $consent ); $this->is_consented = $consent; } /** * Retrieve the test variation, or null on failure. * * @param string $test_name Name of the A/B test. * @return string|null The variation string on success, or null when consent is missing * or the upstream fetch errored. */ public function get_variation( $test_name ) { if ( ! $this->is_consented ) { return null; } $variation = $this->fetch_variation( $test_name ); if ( is_wp_error( $variation ) ) { return null; } return $variation; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings