我熟悉Java或.Net世界中的OOP,现在我被要求在我公司的PHP中使用OOP,但看起来完全不同,因为在PHP中我们没有强类型变量而且我从来没有在PHP中做过任何OOP。 实际上,任务是集成一个用.NET编写的API(Qlikview),并在PHP中执行与API相同的功能。可以找到文档:http://community.qlikview.com/docs/DOC-2606
为了连接服务,我创建了一个新类,它将被连接到('http://:4799 / QMS')。到目前为止一切正常。但是我在更改QMS中的属性时遇到了问题。 QMS安装在服务器上。
让我们说,我遵循以下代码:
List<DocumentFolder> DocFolders = BackendClient.GetUserDocumentFolders(QvsGuid, DocumentFolderScope.All);
我会像在buttom代码中一样编写它以获取我需要的那些信息(QvsGuid和DocumentFolderScope.All):
$DocFolders=(object)array();
$DocFolders=$this->client->GetUserDocumentFolders(array('qvsID' => getQlikviewServerInfo()->ServiceInfo->ID, 'scope' => 'General'))->GetUserDocumentFoldersResult->DocumentFolder;
但在执行时,我得到:
Call to a member function GetUserDocumentFolders() on a non-object
所以我想,我可能要为DocumentFolder类型的$ DocFolders创建一个类。
我知道它可能只是一个可能会回复有关API的人群,但我希望有人能够开辟一条新的视角。
答案 0 :(得分:1)
Call to a member function GetUserDocumentFolders() on a non-object
该错误意味着$ this-&gt;客户端不是对象,很可能是null并且尚未设置。
您必须将$this->client
设置为具有GetUserDocumentFolders
函数的任何类的实例