Title: wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php | Developer.WordPress.org

---

# File: wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php

 * method[ClassDiscovery::instantiateClass()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/instantiateclass/)
 * Get an instance of the $class.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/instantiateclass/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/instantiateclass/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:186](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L186-L199)
 * method[ClassDiscovery::safeClassExists()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/safeclassexists/)
 * We need a “safe” version of PHP’s “class_exists” because Magento has a bug (or
   they call it a “feature”). Magento is throwing an exception if you do class_exists()
   on a class that ends with “Factory” and if that file does not exits.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/safeclassexists/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/safeclassexists/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:211](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L211-L218)
 * method[ClassDiscovery::getStrategies()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getstrategies/)
 * Returns the currently configured discovery strategies as fully qualified class
   names.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getstrategies/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getstrategies/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:121](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L121-L124)
 * method[ClassDiscovery::appendStrategy()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/appendstrategy/)
 * Append a strategy at the end of the strategy queue.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/appendstrategy/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/appendstrategy/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:130](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L130-L134)
 * method[ClassDiscovery::prependStrategy()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/prependstrategy/)
 * Prepend a strategy at the beginning of the strategy queue.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/prependstrategy/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/prependstrategy/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:140](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L140-L144)
 * method[ClassDiscovery::clearCache()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/clearcache/)
 * Used by [3 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/clearcache/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/clearcache/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:145](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L145-L148)
 * method[ClassDiscovery::evaluateCondition()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/evaluatecondition/)
 * Evaluates conditions to boolean.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/evaluatecondition/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/evaluatecondition/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:154](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L154-L176)
 * method[ClassDiscovery::storeInCache()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/storeincache/)
 * Store a value in cache.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/storeincache/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/storeincache/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:102](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L102-L105)
 * method[ClassDiscovery::setStrategies()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/setstrategies/)
 * Set new strategies and clear the cache.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/setstrategies/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/setstrategies/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:111](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L111-L115)
 * class[ClassDiscovery](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/)
 * Registry that based find results on class existence.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:17](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L17-L219)
 * method[ClassDiscovery::findOneByType()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/findonebytype/)
 * Finds a class.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/findonebytype/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/findonebytype/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:41](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L41-L75)
 * method[ClassDiscovery::getFromCache()](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getfromcache/)
 * Get a value from cache.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getfromcache/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclientdependencies-http-discovery-classdiscovery/getfromcache/#uses)
   | Source: [wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php:83](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/third-party/Http/Discovery/ClassDiscovery.php#L83-L95)