registerComplexRequirement( * new DynamicConfigRequirement( * $config, * 'FullyInitialised', * 'Foo' * ) * ); * ``` * * registers a requirement that will evaluate to true only when `mediawiki/includes/Setup.php` has * finished executing (after all service wiring has executed). * * NOTE: This API hasn't settled. It may change at any time without warning. Please don't bind to * it unless you absolutely need to * * @unstable * * @package FeatureManagement * @internal */ final class DynamicConfigRequirement implements Requirement { /** * @var \Config */ private $config; /** * @var string */ private $configName; /** * @var string */ private $requirementName; /** * @param \Config $config * @param string $configName * @param string $requirementName The name of the requirement presented to the Feature Manager */ public function __construct( \Config $config, string $configName, string $requirementName ) { $this->config = $config; $this->configName = $configName; $this->requirementName = $requirementName; } /** * @inheritDoc */ public function getName() : string { return $this->requirementName; } /** * @inheritDoc */ public function isMet() : bool { return (bool)$this->config->get( $this->configName ); } }