PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.1.0
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.1.0
4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 All 93 releases
cookiebot / addons / lib / ioc / php-di / invoker / src / Exception / NotCallableException.php

NotCallableException.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.1.0, at addons/lib/ioc/php-di/invoker/src/Exception/NotCallableException.php

36 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Invoker\Exception;
4
5 /**
6 * The given callable is not actually callable.
7 *
8 * @author Matthieu Napoli <matthieu@mnapoli.fr>
9 */
10 class NotCallableException extends InvocationException
11 {
12 /**
13 * @param string $value
14 * @param bool $containerEntry
15 * @return self
16 */
17 public static function fromInvalidCallable($value, $containerEntry = false)
18 {
19 if (is_object($value)) {
20 $message = sprintf('Instance of %s is not a callable', get_class($value));
21 } elseif (is_array($value) && isset($value[0]) && isset($value[1])) {
22 $class = is_object($value[0]) ? get_class($value[0]) : $value[0];
23 $extra = method_exists($class, '__call') ? ' A __call() method exists but magic methods are not supported.' : '';
24 $message = sprintf('%s::%s() is not a callable.%s', $class, $value[1], $extra);
25 } else {
26 if ($containerEntry) {
27 $message = var_export($value, true) . ' is neither a callable nor a valid container entry';
28 } else {
29 $message = var_export($value, true) . ' is not a callable';
30 }
31 }
32
33 return new self($message);
34 }
35 }
36