1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Core\Concern; |
4: | |
5: | use Salient\Contract\Core\Entity\Readable; |
6: | use Salient\Core\Internal\ReadPropertyTrait; |
7: | |
8: | /** |
9: | * Implements Readable |
10: | * |
11: | * - If `_get<Property>()` is defined, it is called instead of returning the |
12: | * value of `<Property>`. |
13: | * - If `_isset<Property>()` is defined, it is called instead of returning |
14: | * `isset(<Property>)`. |
15: | * - The existence of `_get<Property>()` makes `<Property>` readable, regardless |
16: | * of {@see Readable::getReadableProperties()}'s return value. |
17: | * |
18: | * @api |
19: | * |
20: | * @see Readable |
21: | */ |
22: | trait HasReadableProperties |
23: | { |
24: | use ReadPropertyTrait; |
25: | |
26: | public static function getReadableProperties(): array |
27: | { |
28: | return []; |
29: | } |
30: | } |
31: |