0

我熟悉 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);

我实际上会像在按钮代码中那样编写它,以便获得我需要的那些信息(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 的问题,但我希望有人能开辟一条新的视角。

4

1 回答 1

1

Call to a member function GetUserDocumentFolders() on a non-object

该错误意味着 $this->client 不是一个对象,很可能它的 null 并且尚未设置。

您必须设置$this->client为具有该GetUserDocumentFolders功能的任何类的实例

于 2013-05-30T08:45:42.067 回答