class Psr17FactoryDiscovery
Finds PSR-17 factories.
@author Tobias Nyholm <tobias.nyholm@gmail.com>
Hierarchy
- class \Http\Discovery\ClassDiscovery
- class \Http\Discovery\Psr17FactoryDiscovery extends \Http\Discovery\ClassDiscovery
Expanded class hierarchy of Psr17FactoryDiscovery
5 files declare their use of Psr17FactoryDiscovery
- AutoRootSpan.php in vendor/
open-telemetry/ sdk/ Trace/ AutoRootSpan.php - Buzz.php in vendor/
open-telemetry/ sdk/ Common/ Http/ Psr/ Client/ Discovery/ Buzz.php - CommonClassesStrategy.php in vendor/
php-http/ discovery/ src/ Strategy/ CommonClassesStrategy.php - MessageFactoryResolver.php in vendor/
open-telemetry/ sdk/ Common/ Adapter/ HttpDiscovery/ MessageFactoryResolver.php - PsrTransportFactory.php in vendor/
open-telemetry/ sdk/ Common/ Export/ Http/ PsrTransportFactory.php
File
-
vendor/
php-http/ discovery/ src/ Psr17FactoryDiscovery.php, line 19
Namespace
Http\DiscoveryView source
final class Psr17FactoryDiscovery extends ClassDiscovery {
private static function createException($type, Exception $e) {
return new RealNotFoundException('No PSR-17 ' . $type . ' found. Install a package from this list: https://packagist.org/providers/psr/http-factory-implementation', 0, $e);
}
/**
* @return RequestFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findRequestFactory() {
try {
$messageFactory = static::findOneByType(RequestFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('request factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return ResponseFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findResponseFactory() {
try {
$messageFactory = static::findOneByType(ResponseFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('response factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return ServerRequestFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findServerRequestFactory() {
try {
$messageFactory = static::findOneByType(ServerRequestFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('server request factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return StreamFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findStreamFactory() {
try {
$messageFactory = static::findOneByType(StreamFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('stream factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return UploadedFileFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findUploadedFileFactory() {
try {
$messageFactory = static::findOneByType(UploadedFileFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('uploaded file factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return UriFactoryInterface
*
* @throws RealNotFoundException
*/
public static function findUriFactory() {
try {
$messageFactory = static::findOneByType(UriFactoryInterface::class);
} catch (DiscoveryFailedException $e) {
throw self::createException('url factory', $e);
}
return static::instantiateClass($messageFactory);
}
/**
* @return UriFactoryInterface
*
* @throws RealNotFoundException
*
* @deprecated This will be removed in 2.0. Consider using the findUriFactory() method.
*/
public static function findUrlFactory() {
return static::findUriFactory();
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary |
---|---|---|---|---|
ClassDiscovery::$cache | private static | property | Discovery cache to make the second time we use discovery faster. | |
ClassDiscovery::$deprecatedStrategies | private static | property | ||
ClassDiscovery::$strategies | private static | property | A list of strategies to find classes. | |
ClassDiscovery::appendStrategy | public static | function | Append a strategy at the end of the strategy queue. | |
ClassDiscovery::clearCache | public static | function | ||
ClassDiscovery::evaluateCondition | protected static | function | Evaluates conditions to boolean. | |
ClassDiscovery::findOneByType | protected static | function | Finds a class. | |
ClassDiscovery::getFromCache | private static | function | Get a value from cache. | |
ClassDiscovery::getStrategies | public static | function | Returns the currently configured discovery strategies as fully qualified class names. | |
ClassDiscovery::instantiateClass | protected static | function | Get an instance of the $class. | |
ClassDiscovery::prependStrategy | public static | function | Prepend a strategy at the beginning of the strategy queue. | |
ClassDiscovery::safeClassExists | public static | function | 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… |
|
ClassDiscovery::setStrategies | public static | function | Set new strategies and clear the cache. | |
ClassDiscovery::storeInCache | private static | function | Store a value in cache. | |
Psr17FactoryDiscovery::createException | private static | function | ||
Psr17FactoryDiscovery::findRequestFactory | public static | function | ||
Psr17FactoryDiscovery::findResponseFactory | public static | function | ||
Psr17FactoryDiscovery::findServerRequestFactory | public static | function | ||
Psr17FactoryDiscovery::findStreamFactory | public static | function | ||
Psr17FactoryDiscovery::findUploadedFileFactory | public static | function | ||
Psr17FactoryDiscovery::findUriFactory | public static | function | ||
Psr17FactoryDiscovery::findUrlFactory | Deprecated | public static | function |