Можно ли декомпозировать объект (класс) в 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);

Подробнее об этом можно прочитать в документации.

→ Ссылка