PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / stellarwp / validation / src / Config.php
give / vendor / vendor-prefixed / stellarwp / validation / src Last commit date
Commands 1 year ago Concerns 1 year ago Contracts 1 year ago Exceptions 1 year ago Rules 1 year ago Config.php 1 year ago ServiceProvider.php 1 year ago ValidationRuleSet.php 1 year ago ValidationRulesRegistrar.php 1 year ago Validator.php 1 year ago
Config.php
176 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\Vendors\StellarWP\Validation;
6
7 use InvalidArgumentException;
8 use RuntimeException;
9 use Give\Vendors\StellarWP\ContainerContract\ContainerInterface;
10 use Give\Vendors\StellarWP\Validation\Exceptions\Contracts\ValidationExceptionInterface;
11 use Give\Vendors\StellarWP\Validation\Exceptions\ValidationException;
12
13 /**
14 * Sets up the validation library for use within the application. It provides a way of overriding various parts of the
15 * library to better integrate into the adopting application.
16 *
17 * @since 1.0.0
18 */
19 class Config
20 {
21 /**
22 * @var ContainerInterface The service container to use for resolving dependencies.
23 */
24 private static $container;
25
26 /**
27 * @var string The prefix to add to action and hook filters in the library
28 */
29 private static $hookPrefix = '';
30
31 /**
32 * @var class-string<ValidationExceptionInterface>
33 */
34 private static $validationExceptionClass = ValidationException::class;
35
36 /**
37 * @var class-string<InvalidArgumentException>
38 */
39 private static $invalidArgumentExceptionClass = InvalidArgumentException::class;
40
41 /**
42 * @var bool Whether the library has already been initialized
43 */
44 private static $initialized = false;
45
46 /**
47 * @since 1.0.0
48 *
49 * @param ContainerInterface $container
50 */
51 public static function setServiceContainer($container): void
52 {
53 self::$container = $container;
54 }
55
56 /**
57 * @since 1.0.0
58 *
59 * @return ContainerInterface
60 */
61 public static function getServiceContainer()
62 {
63 return self::$container;
64 }
65
66 /**
67 * @since 1.0.0
68 */
69 public static function getHookPrefix(): string
70 {
71 return self::$hookPrefix;
72 }
73
74 /**
75 * @since 1.0.0
76 */
77 public static function setHookPrefix(string $prefix): void
78 {
79 self::$hookPrefix = $prefix;
80 }
81
82 /**
83 * @since 1.0.0
84 *
85 * @return never
86 * @throws ValidationExceptionInterface
87 */
88 public static function throwValidationException()
89 {
90 throw new self::$validationExceptionClass(...func_get_args());
91 }
92
93 /**
94 * @since 1.0.0
95 *
96 * @return class-string<ValidationExceptionInterface>
97 */
98 public static function getValidationExceptionClass(): string
99 {
100 return self::$validationExceptionClass;
101 }
102
103 /**
104 * @since 1.0.0
105 *
106 * @param class-string<ValidationException> $validationExceptionClass
107 */
108 public static function setValidationExceptionClass(string $validationExceptionClass): void
109 {
110 if (!is_a($validationExceptionClass, ValidationExceptionInterface::class, true)) {
111 throw new RuntimeException(
112 'The validation exception class must implement the ValidationExceptionInterface'
113 );
114 }
115
116 self::$validationExceptionClass = $validationExceptionClass;
117 }
118
119 /**
120 * @since 1.0.0
121 *
122 * @return never
123 * @throws InvalidArgumentException
124 */
125 public static function throwInvalidArgumentException()
126 {
127 throw new self::$invalidArgumentExceptionClass(...func_get_args());
128 }
129
130 /**
131 * @since 1.0.0
132 *
133 * @return class-string<InvalidArgumentException>
134 */
135 public static function getInvalidArgumentExceptionClass(): string
136 {
137 return self::$invalidArgumentExceptionClass;
138 }
139
140 /**
141 * @since 1.0.0
142 *
143 * @param class-string<InvalidArgumentException> $invalidArgumentExceptionClass
144 */
145 public static function setInvalidArgumentExceptionClass(string $invalidArgumentExceptionClass): void
146 {
147 if (!is_a($invalidArgumentExceptionClass, InvalidArgumentException::class, true)) {
148 throw new RuntimeException(
149 'The invalid argument exception class must extend the InvalidArgumentException'
150 );
151 }
152
153 self::$invalidArgumentExceptionClass = $invalidArgumentExceptionClass;
154 }
155
156 /**
157 * @since 1.0.0
158 *
159 * @return void
160 */
161 public static function initialize()
162 {
163 if (self::$initialized) {
164 return;
165 }
166
167 if (self::$container === null) {
168 throw new RuntimeException('A service container must be set before initializing the library');
169 }
170
171 $serviceProvider = new ServiceProvider();
172 $serviceProvider->register();
173 self::$initialized = true;
174 }
175 }
176