Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问PHP方法_Php_Database_Methods_C# 3.0 - Fatal编程技术网

访问PHP方法

访问PHP方法,php,database,methods,c#-3.0,Php,Database,Methods,C# 3.0,我即将开始为一个使用C#的组织做一个项目。为了获得必要的数据,我必须从数据库中获取数据,但是,即使创建应用程序,我也不能访问数据库。你可以假设这会带来一点挑战 在过去的一个项目中,我创建了一个PHP脚本,用于访问数据库并以JSON格式返回数据。我也希望如此,不幸的是,我需要能够进行大约100-120个查询,因此为我需要的每个查询创建一个PHP脚本将非常耗时 是否可以在PHP中创建一个接受字符串参数的方法,然后使用某种方式将字符串从C#传递到该方法中?如果是的话,我该怎么做?如果我可以将字符串传递

我即将开始为一个使用C#的组织做一个项目。为了获得必要的数据,我必须从数据库中获取数据,但是,即使创建应用程序,我也不能访问数据库。你可以假设这会带来一点挑战

在过去的一个项目中,我创建了一个PHP脚本,用于访问数据库并以JSON格式返回数据。我也希望如此,不幸的是,我需要能够进行大约100-120个查询,因此为我需要的每个查询创建一个PHP脚本将非常耗时


是否可以在PHP中创建一个接受字符串参数的方法,然后使用某种方式将字符串从C#传递到该方法中?如果是的话,我该怎么做?如果我可以将字符串传递给脚本中的方法,那么只需要3个方法(在PHP脚本中)就可以进行所有必要的查询。

从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
,并将调用委托给该方法;伪路由,如果你愿意的话。可以通过查询字符串传递更多参数,并由调用的方法使用

这方面的另一个小例子:

$r = new Repository();
$d = $r->{$_GET['method']}();
echo json_encode($d);
然而,其中大部分可以使用现有技术实现。将PHP方法公开为API是一件已经做得很彻底的事情,并且存在大量RESTful API框架来加速此类应用程序的开发。同样的情况也适用于使用API的C#应用程序/库,前提是您在客户机实现中使用某些东西

你问题的答案是“可能吗…”;当然是的,但是这是一个相当高的要求,实现将完全依赖于问题域


作为详细说明(可能太长了,无法发表评论),我目前正在进行一个大规模的大修项目。以前的开发者决定推出他们自己的一切。那对我意味着什么?我一点也不能重用他们的代码库。他们制定了自己的安全战略。垃圾

我说垃圾不是因为我可以写得更好(我可以,但不多),而是因为我知道得更好

我喜欢成熟的技术,这些技术能够很好地集成,并且有大量的社区和开发人员支持。当我在文档和这里之间遇到问题时,我通常可以很快找到解决方案。此外,组件的问题被记录、修复,并且可以解决


为生产滚动您自己的集成组件(无论是安全性还是其他方面),尤其是当您知道您将其视为一种学习体验时,这是不负责任的。

您在这里自相矛盾。您需要从您无权访问的数据库中获取数据。C#是从哪里来的?请更详细地解释一下架构。我一点也不自相矛盾。我正在使用C#处理收到的数据。是否可以在PHP中创建一个方法,该方法接受字符串参数,然后使用某种方式将字符串从C#传递到其中如果你能理解这一点,那么我想我们可能会有所进展。我想创建一个PHP脚本,其中包含3个方法,每个方法都需要一个字符串参数。我希望能够从C#调用这些方法中的每一个。这样更好吗?需要这样做的理由是数据库中包含的数据是未成年人的个人信息。通过不授予数据库权限,组织试图防止对数据进行不必要的访问。是的,我想像这样的东西有API可用。尽管如此,如果您总是依赖第三方API,您将一无所获。我总是第一次尝试自己做,之后的任何时候,我要么创建了自己的API,要么使用了第三方API。@RandomlyKnighted如果你正在从事一个涉及未成年人个人身份信息的项目,我甚至不会考虑为了学习而滚动自己的任何东西。把它留给个人项目;使用成熟的技术来完成这项任务。