Open Journal Systems  3.3.0
NoCandidateFoundException.php
1 <?php
2 
4 
6 
12 final class NoCandidateFoundException extends \Exception implements Exception
13 {
18  public function __construct($strategy, array $candidates)
19  {
20  $classes = array_map(
21  function ($a) {
22  return $a['class'];
23  },
24  $candidates
25  );
26 
27  $message = sprintf(
28  'No valid candidate found using strategy "%s". We tested the following candidates: %s.',
29  $strategy,
30  implode(', ', array_map([$this, 'stringify'], $classes))
31  );
32 
33  parent::__construct($message);
34  }
35 
36  private function stringify($mixed)
37  {
38  if (is_string($mixed)) {
39  return $mixed;
40  }
41 
42  if (is_array($mixed) && 2 === count($mixed)) {
43  return sprintf('%s::%s', $this->stringify($mixed[0]), $mixed[1]);
44  }
45 
46  return is_object($mixed) ? get_class($mixed) : gettype($mixed);
47  }
48 }
Http\Discovery\Exception
Definition: paymethod/paypal/vendor/php-http/discovery/src/Exception.php:10
Http\Discovery\Exception\NoCandidateFoundException\__construct
__construct($strategy, array $candidates)
Definition: NoCandidateFoundException.php:18
Http\Discovery\Exception
Definition: ClassInstantiationFailedException.php:3
Http\Discovery\Exception\NoCandidateFoundException
Definition: NoCandidateFoundException.php:12