gpt4 book ai didi

php - 探索 PHP 中的 COM 对象

转载 作者:可可西里 更新时间:2023-11-01 13:59:04 25 4
gpt4 key购买 nike

分解 COM 对象以进行调试的正确方法是什么?我有一个返回多级对象的第 3 方函数。该文档不存在,因此我希望能够从对象中回显所有内容或在 Komodo IDE 中对其进行调试。

Komodo 只说 Object,没有别的。也许转换为数组?

我知道一些现有的选项,例如 $com->Status,但是返回了更多的变量,我想知道它们是什么。

最佳答案

您可以使用 com_print_typeinfo()而不是 var_dump()。这应该适用于 COM、VARIANT 和 DOTNET 对象。输出看起来类似于:

class IFile { /* GUID={C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0} */// some PHP-COM internal stuff ... /* DISPID=1610612736 */ function QueryInterface(  /* VT_PTR [26] [in] --> ? [29]  */ &$riid,  /* VT_PTR [26] [out] --> VT_PTR [26]  */ &$ppvObj   ) { } /* DISPID=1610612737 */ /* VT_UI4 [19] */ function AddRef(  ) { }// ... /* DISPID=1610678275 */ function Invoke(  /* VT_I4 [3] [in] */ $dispidMember,  /* VT_PTR [26] [in] --> ? [29]  */ &$riid,  /* VT_UI4 [19] [in] */ $lcid,  /* VT_UI2 [18] [in] */ $wFlags,  /* VT_PTR [26] [in] --> ? [29]  */ &$pdispparams,  /* VT_PTR [26] [out] --> VT_VARIANT [12]  */ &$pvarResult,  /* VT_PTR [26] [out] --> ? [29]  */ &$pexcepinfo,  /* VT_PTR [26] [out] --> VT_UINT [23]  */ &$puArgErr   ) { }// properties and methods of the COM object// ... /* DISPID=1001 */ /* VT_BSTR [8] */ /* Short name */ var $ShortName; /* DISPID=1004 */ /* VT_PTR [26] */ /* Get drive that contains file */ var $Drive; /* DISPID=1005 */ /* VT_PTR [26] */ /* Get folder that contains file */ var $ParentFolder;// ... /* DISPID=1204 */ function Move(  /* VT_BSTR [8] [in] */ $Destination   ) {  /* Move this file */ } /* DISPID=1100 */ /* VT_PTR [26] */ function OpenAsTextStream(  /* ? [29] [in] */ $IOMode,  /* ? [29] [in] */ $Format   ) {  /* Open a file as a TextStream */ }}

关于php - 探索 PHP 中的 COM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1625682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com