mirror of
https://github.com/proelements/proelements.git
synced 2026-04-06 04:13:48 +00:00
v3.33.1
This commit is contained in:
33
core/data/controller.php
Normal file
33
core/data/controller.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
namespace ElementorPro\Core\Data;
|
||||
|
||||
use ElementorPro\Modules\LoopFilter\Data\Endpoints\Base;
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
abstract class Controller {
|
||||
|
||||
private $endpoints = [];
|
||||
|
||||
abstract public function get_name();
|
||||
|
||||
public function get_namespace() {
|
||||
return 'elementor-pro/v1';
|
||||
}
|
||||
|
||||
abstract protected function register_endpoints();
|
||||
|
||||
protected function register_endpoint( $endpoint ) {
|
||||
$endpoint_instance = new $endpoint( $this );
|
||||
|
||||
$this->endpoints[ $endpoint_instance->get_name() ] = $endpoint_instance;
|
||||
}
|
||||
|
||||
public function __construct() {
|
||||
add_action( 'rest_api_init', function () {
|
||||
$this->register_endpoints(); // Because 'register_endpoints' is protected.
|
||||
} );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user