web-dev-qa-db-ja.com

PHPからC#へのコンバーター

これが必要PHPコードがC#に変換されました。これを可能にするツールまたはWebサイトはありますか?

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;
}
14
SOF User

PHP=からC#に変換できるツールを知りません。そのようなことがあった場合、変換が正しく行われるとは信じられません。そのため、オプションは:

  • C#を学ぶ
  • 変換できる人に渡してください。
38
RQDQ

多分あなたは Phalanger を見てみるべきです。これはコンバーターではありませんが、PHP .Netのコードをコンパイルできます。C#からphpメソッドを呼び出すことができるはずです。オープンソースプロジェクトであり、ソースがホストされています- ここ

17
Beachwalker

これは役に立ちます。それは変換エンジンを持っていますが、それが「ホワイトペーパー」でサポートされているという事実は、私はまだ先が難しいと信じています。

http://www.asp.net/downloads/archived/migration-assistants/php-to-aspnet/

4
Number 9

コンバータはありませんが、 Haxe をご覧ください。これは、C#を含む他の言語にコンパイルできるマルチプラットフォームのオープンソース言語です。構文はPHPに似ています。

とにかく、このコードスニペットを手動で変換するのが最善の方法です。

4

変換(管理できないスパゲッティコードにつながる)の代わりに、PHPプロジェクトをPHPコンパイラを使用して通常の.NETプロジェクト(F#やC++/CLIなど)にしますオン:

https://github.com/iolevel/peachpie

このようにして、C#からシームレスに使用しながら、PHPコードを維持できるようにします。

いくつかのリソース:

4
Jakub Míšek

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+"!";
}
0
Anderson Green