Как увидеть, что внутри COM-объекта в PHP
В PHP в Microsoft Windows можно работать с COM-объектами. Для этого надо подключить модуль COM, доступный только в Microsoft Windows и отключённый по умолчанию в текущей версии PHP. Но как разработчику увидеть, что внутри COM-объекта, с которым предстоит работать?
Казалось бы, в чём сложность — есть функция var_dump()
? Но дело в том, что в случае с COM-объектом привычный способ вывести структурированную информацию о переменной с помощью функции var_dump()
не сработает. В этом можно убедиться, выполнив следующий код.
<?php
$obj = new COM('Word.Application');
var_dump($obj);
?>

Но это не значит, что структура и содержание COM-объекта должно остаться тайной, которую нельзя увидеть разработчику. Для того, чтобы вывести структурированную информацию о COM-объекте, в модуле COM доступна специальная функция com_print_typeinfo()
.
После замены в предыдущем примере функции var_dump()
на функцию com_print_typeinfo()
будет получен желаемый результат.
<?php
$obj = new COM('Word.Application');
com_print_typeinfo($obj);
?>

Прочитать подробнее о функции можно в официальной документации PHP: com_print_typeinfo().