Title: wp-includes/php-ai-client/src/Providers/ProviderRegistry.php | Developer.WordPress.org

---

# File: wp-includes/php-ai-client/src/Providers/ProviderRegistry.php

 * method[ProviderRegistry::setHttpTransporterForProvider()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporterforprovider/)
 * Sets the HTTP transporter for a specific provider, hooking up its class instances.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporterforprovider/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporterforprovider/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:357](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L357-L373)
 * method[ProviderRegistry::setRequestAuthenticationForProvider()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setrequestauthenticationforprovider/)
 * Sets the request authentication for a specific provider, hooking up its class
   instances.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setrequestauthenticationforprovider/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setrequestauthenticationforprovider/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:384](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L384-L408)
 * method[ProviderRegistry::createDefaultProviderRequestAuthentication()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/createdefaultproviderrequestauthentication/)
 * Creates a default request authentication instance for a provider.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/createdefaultproviderrequestauthentication/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/createdefaultproviderrequestauthentication/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:418](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L418-L478)
 * method[ProviderRegistry::isRegisteredClassName()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/)
 * Checks if the given value is a registered provider class name.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:488](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L488-L491)
 * method[ProviderRegistry::isRegisteredId()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/)
 * Checks if the given value is a registered provider ID.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:500](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L500-L503)
 * method[ProviderRegistry::getEnvVarName()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getenvvarname/)
 * Converts a provider ID and field name to a constant case environment variable
   name.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getenvvarname/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getenvvarname/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:513](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L513-L519)
 * method[ProviderRegistry::findProviderModelsMetadataForSupport()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findprovidermodelsmetadataforsupport/)
 * Finds models within a specific available provider that support the given requirements.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findprovidermodelsmetadataforsupport/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findprovidermodelsmetadataforsupport/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:227](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L227-L243)
 * method[ProviderRegistry::getProviderModel()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getprovidermodel/)
 * Gets a configured model instance from a provider.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getprovidermodel/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getprovidermodel/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:255](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L255-L261)
 * method[ProviderRegistry::bindModelDependencies()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/bindmodeldependencies/)
 * Binds dependencies to a model instance.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/bindmodeldependencies/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/bindmodeldependencies/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:273](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L273-L285)
 * method[ProviderRegistry::resolveProviderClassName()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/resolveproviderclassname/)
 * Gets the class name for a registered provider (handles both ID and class name
   input).
 * Used by [6 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/resolveproviderclassname/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/resolveproviderclassname/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:293](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L293-L305)
 * method[ProviderRegistry::setHttpTransporter()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporter/)
 * {@inheritDoc}
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporter/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/sethttptransporter/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:311](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L311-L318)
 * method[ProviderRegistry::setProviderRequestAuthentication()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setproviderrequestauthentication/)
 * Sets the request authentication instance for the given provider.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setproviderrequestauthentication/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/setproviderrequestauthentication/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:327](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L327-L332)
 * method[ProviderRegistry::getProviderRequestAuthentication()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderrequestauthentication/)
 * Gets the request authentication instance for the given provider, if set.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderrequestauthentication/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderrequestauthentication/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:341](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L341-L348)
 * method[ProviderRegistry::getProviderId()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderid/)
 * Gets the provider ID for a registered provider.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderid/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderid/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:163](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L163-L175)
 * method[ProviderRegistry::isProviderConfigured()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isproviderconfigured/)
 * Checks if a provider is properly configured.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isproviderconfigured/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isproviderconfigured/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:184](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L184-L195)
 * method[ProviderRegistry::findModelsMetadataForSupport()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findmodelsmetadataforsupport/)
 * Finds models across all available providers that support the given requirements.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findmodelsmetadataforsupport/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/findmodelsmetadataforsupport/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:204](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L204-L217)
 * class[ProviderRegistry](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/)
 * Registry for managing AI providers and their models.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:31](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L31-L520)
 * method[ProviderRegistry::registerProvider()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/registerprovider/)
 * Registers a provider class with the registry.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/registerprovider/#used-by)
   | Uses [5 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/registerprovider/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:58](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L58-L108)
 * method[ProviderRegistry::getRegisteredProviderIds()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getregisteredproviderids/)
 * Gets a list of all registered provider IDs.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getregisteredproviderids/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getregisteredproviderids/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:116](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L116-L119)
 * method[ProviderRegistry::hasProvider()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/hasprovider/)
 * Checks if a provider is registered.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/hasprovider/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/hasprovider/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:128](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L128-L131)
 * method[ProviderRegistry::getProviderClassName()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderclassname/)
 * Gets the class name for a registered provider.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderclassname/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/getproviderclassname/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:141](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L141-L153)