/** * {@inheritdoc} */ protected function configureProviderOptions(OptionsResolver $optionsResolver) { /* Parent options still apply. */ parent::configureProviderOptions($optionsResolver); /* Define default values. */ $optionsResolver->setDefault(ProviderServiceInterface::PROVIDER_OPT_GC_PROBABILITY, 1); $optionsResolver->setDefault(ProviderServiceInterface::PROVIDER_OPT_GC_DIVISOR, 100); /* Add allowed types. */ $optionsResolver->setAllowedTypes(ProviderServiceInterface::PROVIDER_OPT_GC_PROBABILITY, 'int'); $optionsResolver->setAllowedTypes(ProviderServiceInterface::PROVIDER_OPT_GC_DIVISOR, 'int'); /* Set allowed values. */ $optionsResolver->setAllowedValues(ProviderServiceInterface::PROVIDER_OPT_GC_PROBABILITY, function ($value) { return 0 <= $value; }); $optionsResolver->setAllowedValues(ProviderServiceInterface::PROVIDER_OPT_GC_DIVISOR, function ($value) { return 1 <= $value; }); }