Yoast\WP\SEO\Dashboard\Application\Traffic

Organic_Sessions_Compare_Repository{}Yoast 1.0

The data provider for comparison organic sessions data.

Хуков нет.

Использование

$Organic_Sessions_Compare_Repository = new Organic_Sessions_Compare_Repository();
// use class methods

Методы

  1. public __construct(
  2. public get_data( Parameters $parameters )

Код Organic_Sessions_Compare_Repository{} Yoast 25.1

class Organic_Sessions_Compare_Repository implements Dashboard_Repository_Interface {

	/**
	 * The adapter.
	 *
	 * @var Site_Kit_Analytics_4_Adapter
	 */
	private $site_kit_analytics_4_adapter;

	/**
	 * The site kit configuration object.
	 *
	 * @var Site_Kit
	 */
	private $site_kit_configuration;

	/**
	 * The constructor.
	 *
	 * @param Site_Kit_Analytics_4_Adapter $site_kit_analytics_4_adapter The adapter.
	 * @param Site_Kit                     $site_kit_configuration       The site kit configuration object.
	 */
	public function __construct(
		Site_Kit_Analytics_4_Adapter $site_kit_analytics_4_adapter,
		Site_Kit $site_kit_configuration
	) {
		$this->site_kit_analytics_4_adapter = $site_kit_analytics_4_adapter;
		$this->site_kit_configuration       = $site_kit_configuration;
	}

	/**
	 * Gets comparison organic sessions' data.
	 *
	 * @param Parameters $parameters The parameter to use for getting the comparison organic sessions' data.
	 *
	 * @return Data_Container
	 *
	 * @throws Data_Source_Not_Available_Exception When getting the comparison organic sessions' data fails.
	 */
	public function get_data( Parameters $parameters ): Data_Container {
		if ( ! $this->site_kit_configuration->is_onboarded() || ! $this->site_kit_configuration->is_ga_connected() ) {
			throw new Data_Source_Not_Available_Exception( 'Comparison organic sessions repository' );
		}

		return $this->site_kit_analytics_4_adapter->get_comparison_data( $parameters );
	}
}