Open Journal Systems  3.3.0
CommonPsr17ClassesStrategy.php
1 <?php
2 
4 
5 use Psr\Http\Message\RequestFactoryInterface;
6 use Psr\Http\Message\ResponseFactoryInterface;
7 use Psr\Http\Message\ServerRequestFactoryInterface;
8 use Psr\Http\Message\StreamFactoryInterface;
9 use Psr\Http\Message\UploadedFileFactoryInterface;
10 use Psr\Http\Message\UriFactoryInterface;
11 
18 {
22  private static $classes = [
23  RequestFactoryInterface::class => [
24  'Nyholm\Psr7\Factory\Psr17Factory',
25  'Zend\Diactoros\RequestFactory',
26  'Http\Factory\Diactoros\RequestFactory',
27  'Http\Factory\Guzzle\RequestFactory',
28  'Http\Factory\Slim\RequestFactory',
29  ],
30  ResponseFactoryInterface::class => [
31  'Nyholm\Psr7\Factory\Psr17Factory',
32  'Zend\Diactoros\ResponseFactory',
33  'Http\Factory\Diactoros\ResponseFactory',
34  'Http\Factory\Guzzle\ResponseFactory',
35  'Http\Factory\Slim\ResponseFactory',
36  ],
37  ServerRequestFactoryInterface::class => [
38  'Nyholm\Psr7\Factory\Psr17Factory',
39  'Zend\Diactoros\ServerRequestFactory',
40  'Http\Factory\Diactoros\ServerRequestFactory',
41  'Http\Factory\Guzzle\ServerRequestFactory',
42  'Http\Factory\Slim\ServerRequestFactory',
43  ],
44  StreamFactoryInterface::class => [
45  'Nyholm\Psr7\Factory\Psr17Factory',
46  'Zend\Diactoros\StreamFactory',
47  'Http\Factory\Diactoros\StreamFactory',
48  'Http\Factory\Guzzle\StreamFactory',
49  'Http\Factory\Slim\StreamFactory',
50  ],
51  UploadedFileFactoryInterface::class => [
52  'Nyholm\Psr7\Factory\Psr17Factory',
53  'Zend\Diactoros\UploadedFileFactory',
54  'Http\Factory\Diactoros\UploadedFileFactory',
55  'Http\Factory\Guzzle\UploadedFileFactory',
56  'Http\Factory\Slim\UploadedFileFactory',
57  ],
58  UriFactoryInterface::class => [
59  'Nyholm\Psr7\Factory\Psr17Factory',
60  'Zend\Diactoros\UriFactory',
61  'Http\Factory\Diactoros\UriFactory',
62  'Http\Factory\Guzzle\UriFactory',
63  'Http\Factory\Slim\UriFactory',
64  ],
65  ];
66 
70  public static function getCandidates($type)
71  {
72  $candidates = [];
73  if (isset(self::$classes[$type])) {
74  foreach (self::$classes[$type] as $class) {
75  $candidates[] = ['class' => $class, 'condition' => [$class]];
76  }
77  }
78 
79  return $candidates;
80  }
81 }
Http\Discovery\Strategy
Definition: CommonClassesStrategy.php:3
Http\Discovery\Strategy\CommonPsr17ClassesStrategy\getCandidates
static getCandidates($type)
Definition: CommonPsr17ClassesStrategy.php:70
Http\Discovery\Strategy\CommonPsr17ClassesStrategy
Definition: CommonPsr17ClassesStrategy.php:17
Http\Discovery\Strategy\DiscoveryStrategy
Definition: DiscoveryStrategy.php:10