| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/site/20241224/spunner/wp-content/plugins/woocommerce/src/Blocks/ |
Upload File : |
<?php
namespace Automattic\WooCommerce\Blocks;
use Automattic\WooCommerce\Blocks\Domain\Package as NewPackage;
use Automattic\WooCommerce\Blocks\Domain\Bootstrap;
use Automattic\WooCommerce\Blocks\Registry\Container;
use Automattic\WooCommerce\Blocks\Domain\Services\FeatureGating;
/**
* Main package class.
*
* Returns information about the package and handles init.
*
* In the context of this plugin, it handles init and is called from the main
* plugin file (woocommerce-gutenberg-products-block.php).
*
* In the context of WooCommerce core, it handles init and is called from
* WooCommerce's package loader. The main plugin file is _not_ loaded.
*
* @since 2.5.0
*/
class Package {
/**
* For back compat this is provided. Ideally, you should register your
* class with Automattic\Woocommerce\Blocks\Container and make Package a
* dependency.
*
* @since 2.5.0
* @return Package The Package instance class
*/
protected static function get_package() {
return self::container()->get( NewPackage::class );
}
/**
* Init the package - load the blocks library and define constants.
*
* @since 2.5.0 Handled by new NewPackage.
*/
public static function init() {
self::container()->get( Bootstrap::class );
}
/**
* Return the version of the package.
*
* @return string
*/
public static function get_version() {
return self::get_package()->get_version();
}
/**
* Return the path to the package.
*
* @return string
*/
public static function get_path() {
return self::get_package()->get_path();
}
/**
* Returns an instance of the FeatureGating class.
*
* @return FeatureGating
*/
public static function feature() {
return self::get_package()->feature();
}
/**
* Loads the dependency injection container for woocommerce blocks.
*
* @param boolean $reset Used to reset the container to a fresh instance.
* Note: this means all dependencies will be
* reconstructed.
*/
public static function container( $reset = false ) {
static $container;
if (
! $container instanceof Container
|| $reset
) {
$container = new Container();
// register Package.
$container->register(
NewPackage::class,
function ( $container ) {
// leave for automated version bumping.
$version = '11.8.0-dev';
return new NewPackage(
$version,
dirname( __DIR__, 2 ),
new FeatureGating()
);
}
);
// register Bootstrap.
$container->register(
Bootstrap::class,
function ( $container ) {
return new Bootstrap(
$container
);
}
);
// register Bootstrap.
$container->register(
Migration::class,
function () {
return new Migration();
}
);
}
return $container;
}
}