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: | * Returning `["*"]` has the same effect as returning every `protected` |
14: | * property of the class. |
15: | * |
16: | * @return string[] |
17: | */ |
18: | public static function getReadableProperties(): array; |
19: | |
20: | /** |
21: | * Get the value of a property, or null if it is not set |
22: | * |
23: | * @return mixed |
24: | */ |
25: | public function __get(string $name); |
26: | |
27: | /** |
28: | * Check if a property is set |
29: | */ |
30: | public function __isset(string $name): bool; |
31: | } |
32: |