Refactor remaining modules to Modularity.

Remove Dhii dependencies.
This commit is contained in:
Pedro Silva 2023-12-19 17:26:09 +00:00
parent 5837d65b18
commit 429232f60f
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3
45 changed files with 341 additions and 481 deletions

View file

@ -9,9 +9,10 @@ declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\Compat;
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule;
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ExtendingModule;
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait;
use WooCommerce\PayPalCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule;
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
use WooCommerce\PayPalCommerce\Compat\Assets\CompatAssets;
use WooCommerce\PayPalCommerce\WcGateway\Exception\NotFoundException;
@ -20,17 +21,21 @@ use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
/**
* Class CompatModule
*/
class CompatModule implements ModuleInterface {
class CompatModule implements ServiceModule, ExtendingModule, ExecutableModule {
use ModuleClassNameIdTrait;
/**
* Setup the compatibility module.
*
* @return ServiceProviderInterface
* {@inheritDoc}
*/
public function setup(): ServiceProviderInterface {
return new ServiceProvider(
require __DIR__ . '/../services.php',
require __DIR__ . '/../extensions.php'
);
public function services(): array {
return require __DIR__ . '/../services.php';
}
/**
* {@inheritDoc}
*/
public function extensions(): array {
return require __DIR__ . '/../extensions.php';
}
/**
@ -38,7 +43,7 @@ class CompatModule implements ModuleInterface {
*
* @throws NotFoundException
*/
public function run( ContainerInterface $c ): void {
public function run( ContainerInterface $c ): bool {
$this->initialize_ppec_compat_layer( $c );
$this->fix_site_ground_optimizer_compatibility( $c );
@ -54,14 +59,8 @@ class CompatModule implements ModuleInterface {
$this->migrate_smart_button_settings( $c );
$this->fix_page_builders();
}
/**
* Returns the key for the module.
*
* @return string|void
*/
public function getKey() {
return true;
}
/**