Документацию по API Можно сформировать через PHPDocumentor v.3 Alpha-3
Alpa\EntityDetails\ReflectInfo
Методы:
- & getInfoClassRecurs(string|object & $class):array -анализирует указанный класс или класс объекта рекурсивно.
- & getInfoArrayRecurs(array & $array):array -анализирует массивы рекурсивно.
- & getInfoObjectRecurs(object & $object):object - анализирует объекты рекурсивно.
- & getInfoObjectArrayRecurs (mixed $data): array|mixed - запускает анализ или для объекта или для массива. Если передан инной тип данных, то его же и возвратит.
- repeatRecursiveDataIntoArray(mixed $data):array - проводит анализ объекта или массива без детальной информации рекурсивно.
- excludeObjects($objects = []) - объекты которые необходимо исключить из парсинга. Как правило очень тяжелые объекты или объект реализующий в себе данный компонент (чтобы не поддавались анализу данные анализа).
Справедливо для вышеперечисленных методов кроме repeatRecursiveDataIntoArray
- % - статический метод или свойство
- * - protected метод или свойство
- ** - private
- *** - final
- ~ - abstract method
- ☢ - нестабильное свойство. свойство являющееся массивом и не может передается по ссылке, а следовательно может не выходить из петли (замыкания) при анализе.
- property : Class - свойство property которое реализует объект класса Class
- Class : ** private_property - свойство private_property которое принадлежит классу Class
- Class : ** private_property:SClass - свойство private_property которое принадлежит классу Class и реализует объект класса SClass
Внимание: В целях анализа больших объектов, по возможности, все данные между собой передаются по ссылкам.
Это предназначено, чтобы не происходило переполнение памяти. Если результат будет храниться в памяти,
то значения его сегментов могут меняться согласно выполняемому сценарию, а следовательно будет не достоверным.
Поэтому после анализа, результат необходимо или передавать в вывод (буфер вывода, файл, поток) или клонировать рекурсивно.
(возможно, в будущем будет создан метод клонирования такого объекта)
в качестве примера запустите в текущей директории в консоли composer install - чтобы установить автозагрузчик и запустите в браузере тест tests/test_ReflectInfo.php ваш браузер должен иметь предустановленное расширение для работы с json файлами.