provides, true ); } /** * Registers items with the container * * @return void */ public function register(): void { $views = new StringArgument( __DIR__ . '/views' ); $this->getContainer()->add( 'pricing_client', PricingClient::class ); $this->getContainer()->add( 'user_client', UserClient::class ) ->addArgument( 'options' ); $this->getContainer()->addShared( 'pricing', Pricing::class ) ->addArgument( $this->getContainer()->get( 'pricing_client' )->get_pricing_data() ); $this->getContainer()->addShared( 'user', User::class ) ->addArgument( $this->getContainer()->get( 'user_client' )->get_user_data() ); $this->getContainer()->add( 'upgrade', Upgrade::class ) ->addArguments( [ 'pricing', 'user', $views, ] ); $this->getContainer()->add( 'renewal', Renewal::class ) ->addArguments( [ 'pricing', 'user', 'options', $views, ] ); $this->getContainer()->addShared( 'license_subscriber', Subscriber::class ) ->addArguments( [ 'upgrade', 'renewal', ] ); } }