File "search-data.php"
Full Path: /home/amervokv/ecomlive.net/wp-content/plugins/wordpress-seo/src/dashboard/domain/search-rankings/search-data.php
File size: 1.89 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\Search_Rankings;
use Yoast\WP\SEO\Dashboard\Domain\Data_Provider\Data_Interface;
/**
* Domain object that represents a single Search Data record.
*/
class Search_Data implements Data_Interface {
/**
* The amount of clicks a `subject` gets.
*
* @var int $clicks
*/
private $clicks;
/**
* The click-through rate a `subject` gets.
*
* @var float $clicks
*/
private $ctr;
/**
* The amount of impressions a `subject` gets.
*
* @var int $impressions
*/
private $impressions;
/**
* The average position for the given `subject`.
*
* @var float $position
*/
private $position;
/**
* In the context of this domain object subject can represent a `URI` or a `search term`
*
* @var string
*/
private $subject;
/**
* The constructor.
*
* @param int $clicks The clicks.
* @param float $ctr The ctr.
* @param int $impressions The impressions.
* @param float $position The position.
* @param string $subject The subject of the data.
*/
public function __construct( int $clicks, float $ctr, int $impressions, float $position, string $subject ) {
$this->clicks = $clicks;
$this->ctr = $ctr;
$this->impressions = $impressions;
$this->position = $position;
$this->subject = $subject;
}
/**
* The array representation of this domain object.
*
* @return array<string|float|int|string[]>
*/
public function to_array(): array {
return [
'clicks' => $this->clicks,
'ctr' => $this->ctr,
'impressions' => $this->impressions,
'position' => $this->position,
'subject' => $this->subject,
];
}
/**
* Gets the subject.
*
* @return string The subject.
*/
public function get_subject(): string {
return $this->subject;
}
}