2011-03-07 9 views
10

मुझे इस PHP कोड को C# में परिवर्तित करने की आवश्यकता है। क्या कोई उपकरण या वेबसाइट है जो इसे संभव बनाती है?PHP से सी # कनवर्टर

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

यह बड़ा कुछ का हिस्सा लगता है। इसका क्या पहलू आपको अनुवादित करने की ज़रूरत है? कर्ल भाग? –

+0

संबंधित: http: // stackoverflow।कॉम/प्रश्न/441161/कैसे-से-कन्वर्ट-कोड-से-सी-टू-पीएचपी – RQDQ

+0

जो भी आप खोज रहे हैं वह हो सकता है, लेकिन PHP के लिए फेसबुक हिपहॉप PHP को C++ में परिवर्तित कर देता है। (हाँ, मुझे पता है कि आप सी # के लिए पूछ रहे हैं, लेकिन यह सबसे नज़दीकी चीज है जिसके बारे में मैं सोच सकता हूं: डी)। वास्तव में आपको कोई भी परिवर्तित कोड नहीं मिलता है, लेकिन यह आपके प्रदर्शन को बढ़ाता है यदि आप इसके बाद क्या कर रहे हैं। – Sondre

उत्तर

31

मुझे किसी भी उपकरण के बारे में पता नहीं है जो PHP से C# में परिवर्तित हो सकता है। अगर ऐसी कोई बात है, तो मैं रूपांतरण को सही तरीके से करने के लिए भरोसा नहीं करता। कोई है जो इसे परिवर्तित कर सकते हैं करने के लिए

  • जानें सी #
  • यह दर्रा: ताकि करने के लिए अपने विकल्पों को छोड़ देता है।
+2

+1, सेकेंड किया गया। एक कोड से दूसरे भाषा में स्रोत कोड को परिवर्तित करना एक जटिल कार्य है, मुझे संदेह है कि एक उपकरण है जो इसे संभव बना देगा, विश्वसनीयता का उल्लेख न करें :)। – mingos

+3

रूपांतरण के बजाय, मौजूदा PHP कोड को .NET में एकीकृत करना संभव है, उदा। http://stackoverflow.com/questions/5221669/php-to-c-sharp-converter/8007020#8007020 पर बताए गए फालेंजर का उपयोग करके यह –

+0

@ JakubMíšek और उसके बाद रिवर्स इंजीनियर का उपयोग किया जा रहा है। असल में, सरल ब्लॉक को परिवर्तित करना बहुत मुश्किल नहीं होना चाहिए, यह किसी को भी –

3

यह सहायक हो सकता है। इसमें एक रूपांतरण इंजन है लेकिन तथ्य यह है कि इसे 'व्हाइटपेपर' के साथ समर्थित किया गया है, मुझे विश्वास है कि अभी भी कठिन गज की दूरी तय होगी।

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

16

शायद तुम Phalanger पर एक नज़र रखना चाहिए। यह कनवर्टर नहीं है, लेकिन यह आपको .NET के लिए PHP कोड संकलित करने की अनुमति देता है - इसलिए आप सी # से php विधियों को कॉल करने में सक्षम होना चाहिए। यह एक ओपन सोर्स प्रोजेक्ट है और स्रोत here होस्ट किया गया है।

3

कोई कनवर्टर है, लेकिन आप Haxe पर एक नज़र लग सकता है। यह मल्टी-प्लेटफार्म ओपन सोर्स भाषा है जिसे सी # सहित अन्य भाषाओं में संकलित किया जा सकता है। वाक्यविन्यास PHP के समान है।

किसी भी तरह, इस कोड स्निपेट मैन्युअल रूप से कनवर्ट करने के लिए सबसे अच्छा तरीका होगा।

-1
$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";} 
0

आप स्वचालित रूप से SWI-Prolog के लिए transpiler लाइब्रेरी का उपयोग सी # में पीएचपी के एक छोटे सबसेट अनुवाद कर सकते हैं।

:- 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). 

यह सी # में कार्यक्रम के उत्पादन होता है:

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+"!"; 
} 
1
परिवर्तित करने की

बजाय (जो संख्या प्रबंधन स्पेगेटी कोड का कारण बन), पीएचपी परियोजना बनाने यह एक छोटा कार्यक्रम इस पुस्तकालय का उपयोग करता है एक नियमित रूप से नेट परियोजना PHP संकलक का उपयोग कर (एफ # या C++/CLI) की तरह हम काम कर रहे:

https://github.com/iolevel/peachpie

इस तरह, अन्य बातों के बगल में, आप kee पी अपने PHP कोड को बनाए रखने योग्य है जबकि आप इसे सी # से सहजता से उपयोग कर सकते हैं।

कुछ संसाधन:

संबंधित मुद्दे