PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / wordpress / php-mcp-schema / src / Common / AbstractDataTransferObject.php
ameliabooking / vendor / wordpress / php-mcp-schema / src / Common Last commit date
Content 1 month ago Contracts 1 month ago Core 1 month ago JsonRpc 1 month ago Lifecycle 1 month ago Protocol 1 month ago Tasks 1 month ago Traits 1 month ago AbstractDataTransferObject.php 1 month ago AbstractEnum.php 1 month ago McpConstants.php 1 month ago
AbstractDataTransferObject.php
52 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Common;
6
7 /**
8 * Base class for all Data Transfer Objects.
9 *
10 * @mcp-version 2025-11-25
11 */
12 abstract class AbstractDataTransferObject
13 {
14 /**
15 * Creates an instance from an array.
16 *
17 * @param array<string, mixed> $data
18 * @return static
19 */
20 abstract public static function fromArray(array $data): self;
21
22 /**
23 * Converts the instance to an array.
24 *
25 * @return array<string, mixed>
26 */
27 abstract public function toArray(): array;
28
29 /**
30 * Converts the instance to JSON.
31 *
32 * @return string
33 */
34 public function toJson(): string
35 {
36 return json_encode($this->toArray(), JSON_THROW_ON_ERROR);
37 }
38
39 /**
40 * Creates an instance from JSON.
41 *
42 * @param string $json
43 * @return static
44 */
45 public static function fromJson(string $json): self
46 {
47 /** @var array<string, mixed> $data */
48 $data = json_decode($json, true, 512, JSON_THROW_ON_ERROR);
49 return static::fromArray($data);
50 }
51 }
52