Мне нужен этот 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; }
Я не знаю ни одного инструмента, который может конвертировать из PHP в C #. Если есть такая вещь, я бы не стал доверять ей правильно. Таким образом, ваши варианты:
Может быть, вам стоит взглянуть на Phalanger . Это не конвертер, но он позволяет вам скомпилировать PHP-код для .Net – поэтому вы должны иметь возможность вызывать php-методы из C #. Это проект с открытым исходным кодом, и источник размещен здесь .
Это может быть полезно. У него есть механизм конвертации, но факт, что он поддерживается «документами», заставляет меня поверить, что впереди еще будут твердые ярды.
http://www.asp.net/downloads/archived/migration-assistants/php-to-aspnet/
Нет конвертера, но вы можете взглянуть на Haxe . Это многоплатформенный язык с открытым исходным кодом, который может быть скомпилирован на другие языки, включая C #. Синтаксис похож на PHP.
Во всяком случае, для этого кода фрагментация конвертирования вручную будет лучшим подходом.
Вместо преобразования (что приведет к неуправляемому коду спагетти) сделайте проект PHP обычным .NET-проектом (например, F # или C ++ / CLI) с использованием PHP-компилятора, над которым мы работаем:
https://github.com/iolevel/peachpie
Таким образом, помимо других вещей, вы сохраняете свой PHP-код поддерживаемым, в то время как вы можете легко использовать его с C #.
Некоторые ресурсы:
Вы можете автоматически перевести небольшое подмножество PHP в C #, используя библиотеку transpiler
для SWI-Prolog. Это короткая программа, которая использует эту библиотеку:
:- 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+"!"; }
Возможно, это будет полезно, и я знаю, что это не C #
$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";}