getContainer(); $container->share( 'block-subscriber', BlockSubscriber::class ) ->withArgument( $this->get_blocks() ); } /** * Returns a list of block types to register. * * @since 4.4.2 * * @return array<\SimplePay\Core\Block\BlockInterface> */ private function get_blocks() { $container = $this->getContainer(); // Payment form. $container->share( 'block-payment-form', PaymentFormBlock::class ); // Manage subscription. $container->share( 'block-manage-subscription', ManageSubscriptionsBlock::class ); // Button. $container->share( 'block-button', ButtonBlock::class ) ->withArgument( $container->get( 'event-manager' ) ); /** @var array<\SimplePay\Core\Block\BlockInterface> $blocks */ $blocks = array( $container->get( 'block-payment-form' ), $container->get( 'block-button' ), $container->get( 'block-manage-subscription' ), ); return $blocks; } }