PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.0
GiveWP – Donation Plugin and Fundraising Platform v3.14.0
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 / src / Framework / FieldsAPI / Field.php
give / src / Framework / FieldsAPI Last commit date
Actions 2 years ago Concerns 2 years ago Contracts 3 years ago Exceptions 2 years ago Facades 4 years ago LegacyNodes 3 years ago Properties 2 years ago ValueObjects 2 years ago Amount.php 2 years ago Authentication.php 1 year ago BillingAddress.php 2 years ago Checkbox.php 2 years ago Consent.php 2 years ago Date.php 2 years ago DonationAmount.php 2 years ago DonationForm.php 2 years ago DonationSummary.php 2 years ago Element.php 3 years ago Email.php 2 years ago Factory.php 4 years ago Field.php 2 years ago File.php 2 years ago Form.php 3 years ago Group.php 3 years ago Hidden.php 3 years ago Html.php 3 years ago MultiSelect.php 2 years ago Name.php 2 years ago Option.php 2 years ago Paragraph.php 2 years ago Password.php 2 years ago PaymentGateways.php 2 years ago Phone.php 2 years ago Radio.php 2 years ago Section.php 2 years ago Select.php 2 years ago Text.php 2 years ago Textarea.php 2 years ago Types.php 2 years ago Url.php 2 years ago
Field.php
81 lines
1 <?php
2
3 namespace Give\Framework\FieldsAPI;
4
5 use Give\Framework\FieldsAPI\Contracts\Node;
6 use Give\Framework\FieldsAPI\Exceptions\EmptyNameException;
7 use Give\Framework\FieldsAPI\ValueObjects\PersistenceScope;
8 use Give\Vendors\StellarWP\Validation\Concerns\HasValidationRules;
9
10 /**
11 * @since 2.27.3 add ShowInAdmin, ShowInReceipt, StoreAsMeta
12 * @since 2.17.0 allow fields to be macroable
13 * @since 2.12.0
14 * @since 2.13.0 Support visibility conditions
15 * @since 2.22.0 Add TapNode trait
16 */
17 abstract class Field implements Node
18 {
19 use Concerns\HasDefaultValue;
20 use Concerns\HasName;
21 use Concerns\HasType;
22 use Concerns\HasPersistence;
23 use Concerns\IsReadOnly;
24 use Concerns\IsRequired;
25 use Concerns\Macroable;
26 use Concerns\SerializeAsJson;
27 use Concerns\TapNode;
28 use Concerns\ShowInAdmin;
29 use Concerns\ShowInReceipt;
30 use Concerns\HasVisibilityConditions {
31 Concerns\HasVisibilityConditions::__construct as private __visibilityConditionsConstruct;
32 }
33 use HasValidationRules {
34 HasValidationRules::__construct as private __validationRulesConstruct;
35 }
36
37 /**
38 * @since 2.32.0 sets the default scope to donation
39 * @since 2.23.1 make constructor final to avoid unsafe usage of `new static()`.
40 * @since 2.12.0
41 *
42 * @throws EmptyNameException
43 */
44 final public function __construct(string $name)
45 {
46 if (!$name) {
47 throw new EmptyNameException();
48 }
49
50 $this->name = $name;
51 $this->scope = PersistenceScope::donation();
52 $this->__validationRulesConstruct();
53 $this->__visibilityConditionsConstruct();
54 }
55
56 /**
57 * @inheritDoc
58 */
59 public function getNodeType(): string
60 {
61 return 'field';
62 }
63
64 /**
65 * Create a named field.
66 *
67 * @since 2.12.0
68 *
69 * @return static
70 * @throws EmptyNameException
71 */
72 public static function make(string $name): self
73 {
74 if (!$name) {
75 throw new EmptyNameException();
76 }
77
78 return new static($name);
79 }
80 }
81