< 방법 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];
}
'Code > C#' 카테고리의 다른 글
[C#] C# 에서 자바스크립트 코드 실행 (0) | 2020.05.04 |
---|---|
[C#] C# 에서 파이썬 코드 실행 (0) | 2020.05.04 |
[C#] System.Management.ManagementException: Access denied 에러 해결 방법 (0) | 2020.02.10 |
C# 크롬 브라우저 내장하기 (0) | 2020.02.01 |
[C#] 에러 해결 An object reference is required for the non-static field, method, or property Dispatcher.BeginInvoke (0) | 2020.02.01 |