< 방법 1>
* php로 웹서버를 구동시키고 web api 형식으로 php 코드의 결과값 받는 방법

 php -S localhost:8000 -t phpdoc

 

    - 장점 : php extension 도 사용 가능

 

 

//---------------------------------------------------

<방법2>

- php코드 자체를 c# 프로그램 실행파일에 내장

 

* peachpiecompiler /peachpie  이용

- https://github.com/peachpiecompiler/peachpie

php 코드를 C#용으로 컴파일
PHP에서 C# 코드 사용 가능
C# 에서 PHP 코드 사용 가능

 

 

* 매뉴얼
https://docs.peachpie.io/api/ref/context/

 

* 예제
https://github.com/iolevel/peachpie-samples/tree/master/csharp-php-hybrid

 

//------------------

// 예제
// C# 파일

//peachpie library
using Pchp.Core;
using Pchp.Core.Reflection;
using Pchp.Core.Utilities;

...
        static void Main()
        {   
var ctx = ContextExtensions.CurrentContext;

ctx.Include("", "functions.php", once: true, throwOnError: true);

            PhpArray ret = (PhpArray)ctx.Call("_arr", "a1", "b1");
            var e = ret.GetFastEnumerator();
            while (e.MoveNext())
            {
                Debug.WriteLine(e.CurrentKey, e.CurrentValue.ToString());
            }


//-----------
// function.php 파일
<?php
function _arr($a, $b) {
    return (array)["a"=>$a, "b"=>$b];
}

 

 

반응형
Posted by codens