1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Contract\Core\Entity; |
4: | |
5: | /** |
6: | * @api |
7: | */ |
8: | interface Readable |
9: | { |
10: | /** |
11: | * Get readable properties |
12: | * |
13: | * If `["*"]` is returned, all `protected` properties are readable. |
14: | * |
15: | * @return string[] |
16: | */ |
17: | public static function getReadableProperties(): array; |
18: | |
19: | /** |
20: | * Get the value of a property, or null if it is not set |
21: | * |
22: | * @return mixed |
23: | */ |
24: | public function __get(string $name); |
25: | |
26: | /** |
27: | * Check if a property is set |
28: | */ |
29: | public function __isset(string $name): bool; |
30: | } |
31: |