Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
plugins
/
google-listings-and-ads
/
src
/
API
/
Site
:
RESTControllers.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare( strict_types=1 ); namespace Automattic\WooCommerce\GoogleListingsAndAds\API\Site; use Automattic\WooCommerce\GoogleListingsAndAds\API\Site\Controllers\BaseController; use Automattic\WooCommerce\GoogleListingsAndAds\Exception\ValidateInterface; use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Registerable; use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Service; use Psr\Container\ContainerInterface; /** * Class RESTControllers * * @package Automattic\WooCommerce\GoogleListingsAndAds\API\Site */ class RESTControllers implements Service, Registerable { use ValidateInterface; /** * Our container object. * * @var ContainerInterface */ protected $container; /** * RESTControllers constructor. * * @param ContainerInterface $container */ public function __construct( ContainerInterface $container ) { $this->container = $container; } /** * Register a service. */ public function register(): void { add_action( 'rest_api_init', function() { $this->register_controllers(); } ); } /** * Register our individual rest controllers. */ protected function register_controllers(): void { /** @var BaseController[] $controllers */ $controllers = $this->container->get( 'rest_controller' ); foreach ( $controllers as $controller ) { $this->validate_instanceof( $controller, BaseController::class ); $controller->register(); } } }