从 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# 应用程序/库也是如此,前提是您使用带有客户端实现的东西。
你的问题的答案,“有没有可能…… ”;当然可以,但是这是一个相当高的要求,实现将完全依赖于问题域。
作为一个详细说明(评论可能太长了),我目前正在开展一个大规模的大修项目。以前的开发人员决定推出自己的一切。这对我意味着什么?我无法重用他们的代码库。他们推出了自己的安全策略。垃圾。
我说垃圾不是因为我可以写得更好(我可能会,但不多),而是因为我知道得更好。
我喜欢成熟的技术,那些集成良好并拥有大量社区和开发人员支持的技术。当我在文档和此处之间遇到问题时,我通常可以很快找到解决方案。此外,组件的问题已记录、修复并且可以解决。
将自己的集成组件(无论是安全性还是其他)用于生产,尤其是当您知道自己将其视为学习经历时,是不负责任的。