woocommerce' ), 'npm install', 'npm run build', 'npm start' ); echo '

'; } ); } /** * Register core dependencies with the container. */ protected function register_dependencies() { $this->container->register( FeatureGating::class, function ( Container $container ) { return new FeatureGating(); } ); $this->container->register( AssetApi::class, function ( Container $container ) { return new AssetApi( $container->get( Package::class ) ); } ); $this->container->register( AssetDataRegistry::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); $load_back_compat = defined( 'WC_ADMIN_VERSION_NUMBER' ) && version_compare( WC_ADMIN_VERSION_NUMBER, '0.19.0', '<=' ); return $load_back_compat ? new BackCompatAssetDataRegistry( $asset_api ) : new AssetDataRegistry( $asset_api ); } ); $this->container->register( PaymentMethodRegistry::class, function( Container $container ) { return new PaymentMethodRegistry(); } ); $this->container->register( PaymentsApi::class, function ( Container $container ) { $payment_method_registry = $container->get( PaymentMethodRegistry::class ); $asset_data_registry = $container->get( AssetDataRegistry::class ); return new PaymentsApi( $payment_method_registry, $asset_data_registry ); } ); $this->container->register( RestApi::class, function ( Container $container ) { return new RestApi( $container->get( RoutesController::class ) ); } ); $this->container->register( Installer::class, function ( Container $container ) { return new Installer(); } ); $this->container->register( DraftOrders::class, function( Container $container ) { return new DraftOrders( $container->get( Package::class ) ); } ); $this->container->register( CreateAccount::class, function( Container $container ) { return new CreateAccount( $container->get( Package::class ) ); } ); $this->container->register( Formatters::class, function( Container $container ) { $formatters = new Formatters(); $formatters->register( 'money', MoneyFormatter::class ); $formatters->register( 'html', HtmlFormatter::class ); $formatters->register( 'currency', CurrencyFormatter::class ); return $formatters; } ); $this->container->register( SchemaController::class, function( Container $container ) { return new SchemaController( $container->get( ExtendRestApi::class ) ); } ); $this->container->register( RoutesController::class, function( Container $container ) { return new RoutesController( $container->get( SchemaController::class ) ); } ); $this->container->register( ExtendRestApi::class, function( Container $container ) { return new ExtendRestApi( $container->get( Package::class ), $container->get( Formatters::class ) ); } ); } /** * Register payment method integrations with the container. * * @internal Stripe is a temporary method that is used for setting up payment method integrations with Cart and * Checkout blocks. This logic should get moved to the payment gateway extensions. */ protected function register_payment_methods() { $this->container->register( Stripe::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); return new Stripe( $asset_api ); } ); $this->container->register( Cheque::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); return new Cheque( $asset_api ); } ); $this->container->register( PayPal::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); return new PayPal( $asset_api ); } ); $this->container->register( BankTransfer::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); return new BankTransfer( $asset_api ); } ); $this->container->register( CashOnDelivery::class, function( Container $container ) { $asset_api = $container->get( AssetApi::class ); return new CashOnDelivery( $asset_api ); } ); } }