我需要将这个PHP代码转换为C#。是否有工具或网站可以实现这一目标?
public function call($method, array $params) {
// Add the format parameter, only 'json' is supported at the moment
if (!array_key_exists('format', $params)) {
$params['format'] = 'json';
}
$url = "{$this->_url}/{$method}";
$ch = $this->_getCurlHandle($url);
if (!$ch) {
throw new Fuze_Client_Exception("Unable to create a cURL handle");
}
// Set the request parameters
$queryString = http_build_query($params);
curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
// Fire!
$result = $this->_executeCurl($ch);
// All API response payloads should be valid json with 'code' and
// 'message' members
$json = json_decode($result);
if ( !($json instanceof stdClass)
|| !isset($json->code)
|| !isset($json->message) ) {
throw new Fuze_Client_ServerException(
"Invalid JSON payload received", $result, $info['http_code']);
}
if ( $json->code >= 500 && $json->code < 600) {
throw new Fuze_Client_FaultException($json);
}
return $json;
}
答案 0 :(得分:37)
我不知道任何可以从PHP转换为C#的工具。如果有这样的事情,我不相信它能正确地进行转换。因此,您可以选择:
答案 1 :(得分:17)
答案 2 :(得分:4)
这可能会有所帮助。 它有一个转换引擎,但事实上它是由'白皮书'支持的 让我相信前方仍会有艰难的进展。
http://www.asp.net/downloads/archived/migration-assistants/php-to-aspnet/
答案 3 :(得分:4)
没有转换器,但您可以查看Haxe。它是多平台开源语言,可以编译成其他语言,包括C#。语法类似于PHP。
无论如何,这个代码片段手动转换是最好的方法。
答案 4 :(得分:4)
不是转换(这将导致无法管理的意大利面条代码),而是使用PHP编译器使PHP项目成为常规的.NET项目(如F#或C ++ / CLI):
https://github.com/iolevel/peachpie
通过这种方式,除了其他方面,您可以保持PHP代码的可维护性,同时可以从C#无缝地使用它。
一些资源:
答案 5 :(得分:0)
您可以使用SWI-Prolog的transpiler
库自动将一小部分PHP转换为C#。这是一个使用此库的简短程序:
:- use_module(library(transpiler)).
:- set_prolog_flag(double_quotes,chars).
:- initialization(main).
main :-
Input = "function add($a,$b){return $a.$b;}function squared($a){return $a*$a;}function add_exclamation_point($parameter){return $parameter.\"!\";}",
translate(Input,'php','c#',X),
atom_chars(Y,X),
writeln(Y).
这是C#中程序的输出:
public static string add(string a,string b){
return a+b;
}
public static int squared(int a){
return a*a;
}
public static string add_exclamation_point(string parameter){
return parameter+"!";
}
答案 6 :(得分:-3)
$sql = "SELECT num.name,num.on from table WHERE on = '0'";
$query = mysql_query($sql);
$arr =mysql_fetch_array($query);
$s = array($arr['name']);
if(in_array('1',$s)){echo "yes";}else{echo "no";}