我採取基於使用PHP和MySQL的3層架構的項目。如何在PHP中加載遠程類?
基本上,我有一個表示層,業務層和數據層。這3層使用SOAP交換消息。
假設每層被放置在一個專門的機器,我的問題是,我怎麼可以加載一個類,例如,在業務層駐留到有表示層機器的機器。然後我可以從它實例化對象並使用它們?
問候,
我採取基於使用PHP和MySQL的3層架構的項目。如何在PHP中加載遠程類?
基本上,我有一個表示層,業務層和數據層。這3層使用SOAP交換消息。
假設每層被放置在一個專門的機器,我的問題是,我怎麼可以加載一個類,例如,在業務層駐留到有表示層機器的機器。然後我可以從它實例化對象並使用它們?
問候,
我不知道這是否會幫助,但在這裏你去
PHP提供了一個SoapClient類,您可以用它來與SOAP服務交互。只需傳遞WDSL文件和/或其他選項,如on the constructor manpage所述。
SOAP總是檢索stdClass或數組數據結構中的數據。我無法獲得自定義對象。無法將stdClass強制轉換爲自定義對象。 – Nabeel 2011-03-23 20:47:17
是的,其原因是該對象是基於WDSL生成的,並且明顯通過網絡。如果您想要嚴格的打字,請將SOAP調用包裝在您自己的實現您的「通用界面」的類中。 – igorw 2011-03-23 21:00:45
在每一層都有一個通用接口/類的副本會很好嗎? 我想要實現的東西是有共同的類在同一個地方,並從其他地方加載它們,這樣我只有一個副本,這使得它更容易修改只有一個副本,而不是多個拷貝。\ – Nabeel 2011-03-23 21:55:42
使用SOAP *(或任何其他類型的基於網絡的協議)*像這將意味着每個頁面服務器之間的多個請求 - 和做兩個服務器之間的請求需要時間;;;不知道這會爲表演是巨大的...... – 2011-03-23 20:35:40
他們是在同一本地網絡中,這樣的通信將是本地的,而不是在互聯網上。 – Nabeel 2011-03-23 20:43:28