<?php
namespace Automattic\WooCommerce\Admin\API\Reports;
defined( 'ABSPATH' ) || exit;
use Automattic\WooCommerce\Admin\API\Reports\GenericController;
/**
* Generic base for all stats controllers.
*
* {@see GenericController Generic Controller} extended to be shared as a generic base for all Analytics stats controllers.
*
* Besides the `GenericController`·functionality, it adds conventional stats-specific collection params and item schema.
* So, you may want to extend only your report-specific {@see get_item_properties_schema() get_item_properties_schema()}`.
* It also uses the stats-specific {@see get_items() get_items()} method,
* which packs report data into `totals` and `intervals`.
*
*
* Minimalistic example:
* <pre><code class="language-php">class StatsController extends GenericStatsController {
* /** Route of your new REST endpoint. &ast;/
* protected $rest_base = 'reports/my-thing/stats';
* /** Define your proeprties schema. &ast;/
* protected function get_item_properties_schema() {
* return array(
* 'my_property' => array(
* 'title' => __( 'My property', 'my-extension' ),
* 'type' => 'integer',
* 'readonly' => true,
* 'context' => array( 'view', 'edit' ),
* 'description' => __( 'Amazing thing.', 'my-extension' ),
* 'indicator' => true,
* ),
* );
* }
* /** Define overall schema. You can use the defaults,
* * just remember to provide your title and call `add_additional_fields_schema`
* * to run the filters
* &ast;/
* public function get_item_schema() {
* $schema = parent::get_item_schema();
* $schema['title'] = 'report_my_thing_stats';
*
* return $this->add_additional_fields_schema( $schema );
* }
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX