Можно ли декомпозировать объект (класс) в PHP?
Например, как в JS:
const = {READABLE, CREATABLE, DELETABLE} = WP_REST_Server;
Чтобы так не расписывать:
[WP_REST_Server::READABLE, WP_REST_Server::CREATABLE, WP_REST_Server::DELETABLE]
Ответы (1 шт):
Автор решения: Егор Банин
→ Ссылка
Можно. Но делать этого, скорее всего, не надо. PHP поддерживает ООП, а в этой парадигме значение свойств вашего объекта не должно торчать наружу. Но если речь о ассоциативном массиве или DTO'шке, то можно сделать так:
<?php
$obj = (object) ['foo' => 'aaa', 'bar' => 'bbb'];
['foo' => $foo, 'bar' => $bar] = get_object_vars($obj);
var_dump($foo, $bar);
Подробнее об этом можно прочитать в документации.