Файловый менеджер - Редактировать - /home/harasnat/www/labour/wp-content/plugins/woocommerce-services/src/StoreApi/StoreApiExtensionController.php
Назад
<?php /** * Store API Extension Controller. * * A class that manages all the Store API extensions for WooCommerce Shipping. * * @package Automattic/WCServices */ namespace Automattic\WCServices\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; use Exception; defined( 'ABSPATH' ) || exit; /** * Store API Extension Controller. */ class StoreApiExtensionController { /** * Stores the Store API Extend Schema instance. * * @var ExtendSchema */ private static ExtendSchema $extend_schema; /** * Stores the registered extensions. * * @var array */ private array $registered_extensions = array(); /** * StoreApiExntensionController constructor. * * @param ExtendSchema $extend_schema The StoreApiExtendSchema instance. */ public function __construct( ExtendSchema $extend_schema ) { self::$extend_schema = $extend_schema; } /** * Registers an extension. * * @param AbstractStoreApiExtension $extension The extension to register. */ public function register_extension( AbstractStoreApiExtension $extension ) { $this->registered_extensions[] = $extension; } /** * Returns the registered extensions. * * @return array */ public function get_registered_extensions(): array { return $this->registered_extensions; } /** * Registers the data into each endpoint. */ public function extend_store() { $registered_extensions = $this->get_registered_extensions(); if ( empty( $registered_extensions ) ) { return; } foreach ( $registered_extensions as $extension ) { $this->register_endpoint_data( $extension ); $this->register_update_callback( $extension ); } } /** * Registers the endpoint data for an extension. * * @param AbstractStoreApiExtension $extension The extension to register. */ public function register_endpoint_data( AbstractStoreApiExtension $extension ) { try { self::$extend_schema->register_endpoint_data( array( 'endpoint' => $extension->get_endpoint(), 'namespace' => $extension->get_namespace(), 'data_callback' => array( $extension, 'data_callback' ), 'schema_callback' => array( $extension, 'schema_callback' ), 'schema_type' => $extension->get_schema_type(), ) ); } catch ( Exception $e ) { wc_get_logger()->debug( 'Failed to register endpoint data for extension', array( 'error', $e->getMessage() ) ); } } /** * Registers the update callback for an extension. * * @param AbstractStoreApiExtension $extension The extension to register. */ public function register_update_callback( AbstractStoreApiExtension $extension ) { try { self::$extend_schema->register_update_callback( array( 'namespace' => $extension->get_namespace(), 'callback' => array( $extension, 'update_callback' ), ) ); } catch ( Exception $e ) { wc_get_logger()->debug( 'Failed to register update callback for extension', array( 'error', $e->getMessage() ) ); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка