2013-05-30 48 views
0

我是在Java或.Net世界中的OOP的家庭,現在我被要求在我的公司使用與PHP相同的OOP,但它看起來完全不同,因爲在PHP中我們不有很強的類型變量,我從來沒有在PHP中做過任何OOP。 這個任務實際上是集成一個用.NET編寫的API(Qlikview),並且像在該API中一樣在PHP中執行相同的功能。可以找到文檔:http://community.qlikview.com/docs/DOC-2606面向對象與PHP(Web服務)

而連接到服務,我創建了一個新的類,它將連接到('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的人,但我希望有人能夠開闢新的視角。

+1

首先你要問什麼是'$這個 - >'在這方面? –

回答

1

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

該錯誤意味着$這個 - >客戶端不是一個對象,更可能的空,還沒有確定呢。

你必須設置$this->client到任何類的一個實例具有GetUserDocumentFolders功能

+0

是的,我實際上錯過了一堂課,我剛創建並且工作正常。好的提示。 – mike27015