*/ private array $extensions = array(); public function register_extension( ExtensionInterface $extension ): bool { $extension_id = $extension->get_id(); if ( '' === $extension_id || isset( $this->extensions[ $extension_id ] ) ) { return false; } if ( ! CoreApi::is_compatible_with( $extension->get_minimum_core_api_version() ) ) { return false; } $this->extensions[ $extension_id ] = $extension; return true; } public function has_extension( string $extension_id ): bool { return isset( $this->extensions[ $extension_id ] ); } public function boot_extensions(): void { foreach ( $this->extensions as $extension ) { $extension->register(); } } }