• File: comparison-traffic-data.php
  • Full Path: /home/blwgracecity/jesusexp.org/wp-content/plugins/wordpress-seo/src/dashboard/domain/traffic/comparison-traffic-data.php
  • File size: 1.8 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
// phpcs:disable Yoast.NamingConventions.NamespaceName.TooLong -- Needed in the folder structure.
namespace Yoast\WP\SEO\Dashboard\Domain\Traffic;

use Yoast\WP\SEO\Dashboard\Domain\Data_Provider\Data_Interface;

/**
 * Domain object that represents a single Comparison Traffic record.
 */
class Comparison_Traffic_Data implements Data_Interface {

	/**
	 * The current traffic data.
	 *
	 * @var Traffic_Data
	 */
	private $current_traffic_data;

	/**
	 * The previous traffic data.
	 *
	 * @var Traffic_Data
	 */
	private $previous_traffic_data;

	/**
	 * The constructor.
	 *
	 * @param Traffic_Data $current_traffic_data  The current traffic data.
	 * @param Traffic_Data $previous_traffic_data The previous traffic data.
	 */
	public function __construct( ?Traffic_Data $current_traffic_data = null, ?Traffic_Data $previous_traffic_data = null ) {
		$this->current_traffic_data  = $current_traffic_data;
		$this->previous_traffic_data = $previous_traffic_data;
	}

	/**
	 * Sets the current traffic data.
	 *
	 * @param Traffic_Data $current_traffic_data The current traffic data.
	 *
	 * @return void
	 */
	public function set_current_traffic_data( Traffic_Data $current_traffic_data ): void {
		$this->current_traffic_data = $current_traffic_data;
	}

	/**
	 * Sets the previous traffic data.
	 *
	 * @param Traffic_Data $previous_traffic_data The previous traffic data.
	 *
	 * @return void
	 */
	public function set_previous_traffic_data( Traffic_Data $previous_traffic_data ): void {
		$this->previous_traffic_data = $previous_traffic_data;
	}

	/**
	 * The array representation of this domain object.
	 *
	 * @return array<string|float|int|string[]>
	 */
	public function to_array(): array {
		return [
			'current'  => $this->current_traffic_data->to_array(),
			'previous' => $this->previous_traffic_data->to_array(),
		];
	}
}