從C#應用程序/庫調用PHP方法將涉及使用WebRequest
和WebResponse
類的幼稚例如:
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("http://server/script.php?method=my_method");
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream stream = response.GetResponseStream();
使用流,則可以通過解析或反序列化響應,如果它是例如一個JSON字符串。
該實現依賴於script.php
使用method
參數,並將該調用委託給該方法;如果你願意的話,僞路由。更多的參數可以通過查詢字符串傳遞,並被調用的方法使用。
這一點的另一個簡單的例子:
$r = new Repository();
$d = $r->{$_GET['method']}();
echo json_encode($d);
然而,很多這可以使用現有的技術來實現。將PHP方法公開爲API是已經完成的事情,並且存在大量RESTful API框架來加速此類應用程序的開發。對於使用API的C#應用程序/庫也是如此,只要您使用某種客戶端實現。
對您的問題的回答「是否有可能......」;當然是的,但是這是一個非常高的要求,實施將完全依賴問題領域。
作爲一種改進方案(可能是太長時間評論)我目前工作的一個大規模檢修項目。以前的開發者決定推出自己的一切。這對我意味着什麼?我無法重用一盎司的代碼庫。他們推出了自己的安全策略。垃圾。
我就不多說了垃圾,因爲我可以寫更好(我可能,但並不多),而是因爲我知道更好。
我喜歡成熟的技術,它們很好地融合在一起,並且擁有大量的社區和開發者支持。當我遇到問題時,在文檔和這裏之間,我通常可以很快找到解決方案。此外,組件的問題被記錄,修復,並且可以解決。
滾動你自己的不可或缺的組成部分(是他們的安全或其他)進行生產,尤其是當你知道你對待它就像一個學習的經驗,是不負責任的。
來源
2013-03-10 19:08:44
Dan
你在這裏矛盾自己。您需要從您無權訪問的數據庫獲取數據。 C#在這裏出現在哪裏?請詳細解釋架構。 – Cheesebaron 2013-03-10 18:29:24
我完全不矛盾自己。一旦我收到數據,我就使用C#來處理數據。 – tylerbhughes 2013-03-10 18:51:02
*是否有可能在PHP中創建一個接受字符串參數,然後以某種方式將字符串從C#傳遞到它的方法?* - 如果您可以使其有意義,那麼我認爲我們可能會在某處。 – Dan 2013-03-10 18:53:02