PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.0
GiveWP – Donation Plugin and Fundraising Platform v2.27.0
4.16.4 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
Concerns 3 years ago Contracts 3 years ago Exceptions 3 years ago Rules 3 years ago Config.php 3 years ago ServiceProvider.php 3 years ago ValidationRuleSet.php 3 years ago ValidationRulesRegistrar.php 3 years ago Validator.php 3 years ago
Config.php
180 lines
1 <?php
2 /**
3 * @license GPL-2.0-or-later
4 *
5 * Modified by impress-org on 27-April-2023 using Strauss.
6 * @see https://github.com/BrianHenryIE/strauss
7 */
8
9 declare(strict_types=1);
10
11 namespace Give\Vendors\StellarWP\Validation;
12
13 use InvalidArgumentException;
14 use RuntimeException;
15 use Give\Vendors\StellarWP\ContainerContract\ContainerInterface;
16 use Give\Vendors\StellarWP\Validation\Exceptions\Contracts\ValidationExceptionInterface;
17 use Give\Vendors\StellarWP\Validation\Exceptions\ValidationException;
18
19 /**
20 * Sets up the validation library for use within the application. It provides a way of overriding various parts of the
21 * library to better integrate into the adopting application.
22 *
23 * @unreleased
24 */
25 class Config
26 {
27 /**
28 * @var ContainerInterface The service container to use for resolving dependencies.
29 */
30 private static $container;
31
32 /**
33 * @var string The prefix to add to action and hook filters in the library
34 */
35 private static $hookPrefix = '';
36
37 /**
38 * @var class-string<ValidationExceptionInterface>
39 */
40 private static $validationExceptionClass = ValidationException::class;
41
42 /**
43 * @var class-string<InvalidArgumentException>
44 */
45 private static $invalidArgumentExceptionClass = InvalidArgumentException::class;
46
47 /**
48 * @var bool Whether the library has already been initialized
49 */
50 private static $initialized = false;
51
52 /**
53 * @unreleased
54 *
55 * @param ContainerInterface $container
56 */
57 public static function setServiceContainer($container)
58 {
59 self::$container = $container;
60 }
61
62 /**
63 * @unreleased
64 *
65 * @return ContainerInterface
66 */
67 public static function getServiceContainer()
68 {
69 return self::$container;
70 }
71
72 /**
73 * @unreleased
74 */
75 public static function getHookPrefix(): string
76 {
77 return self::$hookPrefix;
78 }
79
80 /**
81 * @unreleased
82 */
83 public static function setHookPrefix(string $prefix)
84 {
85 self::$hookPrefix = $prefix;
86 }
87
88 /**
89 * @unreleased
90 *
91 * @throws ValidationExceptionInterface
92 */
93 public static function throwValidationException()
94 {
95 throw new self::$validationExceptionClass(...func_get_args());
96 }
97
98 /**
99 * @unreleased
100 *
101 * @return class-string<ValidationExceptionInterface>
102 */
103 public static function getValidationExceptionClass(): string
104 {
105 return self::$validationExceptionClass;
106 }
107
108 /**
109 * @unreleased
110 *
111 * @param class-string<ValidationException> $validationExceptionClass
112 */
113 public static function setValidationExceptionClass(string $validationExceptionClass)
114 {
115 if (!is_a($validationExceptionClass, ValidationExceptionInterface::class, true)) {
116 throw new RuntimeException(
117 'The validation exception class must implement the ValidationExceptionInterface'
118 );
119 }
120
121 self::$validationExceptionClass = $validationExceptionClass;
122 }
123
124 /**
125 * @unreleased
126 *
127 * @throws InvalidArgumentException
128 */
129 public static function throwInvalidArgumentException()
130 {
131 throw new self::$invalidArgumentExceptionClass(...func_get_args());
132 }
133
134 /**
135 * @unreleased
136 *
137 * @return class-string<InvalidArgumentException>
138 */
139 public static function getInvalidArgumentExceptionClass(): string
140 {
141 return self::$invalidArgumentExceptionClass;
142 }
143
144 /**
145 * @unreleased
146 *
147 * @param class-string<InvalidArgumentException> $invalidArgumentExceptionClass
148 */
149 public static function setInvalidArgumentExceptionClass(string $invalidArgumentExceptionClass)
150 {
151 if (!is_a($invalidArgumentExceptionClass, InvalidArgumentException::class, true)) {
152 throw new RuntimeException(
153 'The invalid argument exception class must extend the InvalidArgumentException'
154 );
155 }
156
157 self::$invalidArgumentExceptionClass = $invalidArgumentExceptionClass;
158 }
159
160 /**
161 * @unreleased
162 *
163 * @return void
164 */
165 public static function initialize()
166 {
167 if (self::$initialized) {
168 return;
169 }
170
171 if (empty(self::$container)) {
172 throw new RuntimeException('A service container must be set before initializing the library');
173 }
174
175 $serviceProvider = new ServiceProvider();
176 $serviceProvider->register();
177 self::$initialized = true;
178 }
179 }
180