Yoast\WP\SEO\Editors\Application\Analysis_Features
Enabled_Analysis_Features_Repository{}
The repository to get all enabled features.
Хуков нет.
Использование
$Enabled_Analysis_Features_Repository = new Enabled_Analysis_Features_Repository(); // use class methods
Методы
- public __construct( Analysis_Feature_Interface ...$plugin_features )
- public get_enabled_features()
- public get_features_by_keys( array $feature_names )
Код Enabled_Analysis_Features_Repository{} Enabled Analysis Features Repository{} Yoast 25.1
class Enabled_Analysis_Features_Repository { /** * All plugin features. * * @var Analysis_Feature_Interface[] */ private $plugin_features; /** * The list of analysis features. * * @var Analysis_Features_List */ private $enabled_analysis_features; /** * The constructor. * * @param Analysis_Feature_Interface ...$plugin_features All analysis objects. */ public function __construct( Analysis_Feature_Interface ...$plugin_features ) { $this->enabled_analysis_features = new Analysis_Features_List(); $this->plugin_features = $plugin_features; } /** * Returns the analysis list. * * @return Analysis_Features_List The analysis list. */ public function get_enabled_features(): Analysis_Features_List { if ( \count( $this->enabled_analysis_features->parse_to_legacy_array() ) === 0 ) { foreach ( $this->plugin_features as $plugin_feature ) { $analysis_feature = new Analysis_Feature( $plugin_feature->is_enabled(), $plugin_feature->get_name(), $plugin_feature->get_legacy_key() ); $this->enabled_analysis_features->add_feature( $analysis_feature ); } } return $this->enabled_analysis_features; } /** * Returns the analysis list for the given names. * * @param array<string> $feature_names The feature names to include. * * @return Analysis_Features_List The analysis list. */ public function get_features_by_keys( array $feature_names ): Analysis_Features_List { $enabled_analysis_features = new Analysis_Features_List(); foreach ( $this->plugin_features as $plugin_feature ) { if ( \in_array( $plugin_feature->get_name(), $feature_names, true ) ) { $analysis_feature = new Analysis_Feature( $plugin_feature->is_enabled(), $plugin_feature->get_name(), $plugin_feature->get_legacy_key() ); $enabled_analysis_features->add_feature( $analysis_feature ); } } return $enabled_analysis_features; } }