> 백엔드 개발 > PHP 튜토리얼 > PHP는 C#에서 개발된 dll 클래스 라이브러리 메서드를 호출합니다.

PHP는 C#에서 개발된 dll 클래스 라이브러리 메서드를 호출합니다.

WBOY
풀어 주다: 2016-07-29 09:09:08
원래의
1247명이 탐색했습니다.

이 글에서는 C#으로 개발된 DLL 클래스 라이브러리를 PHP가 호출하는 방법을 주로 소개하며, 완전하고 상세한 DLL 제작 단계와 PHP 호출 방법이 필요한 친구들이 참고할 수 있습니다.

C#으로 작성된 dll과 같이 PHP에서 다른 언어로 작성된 dll 라이브러리를 사용해야 하는 경우가 있습니다. 호출하기 전에 dll 라이브러리를 호출해야 합니다. 등록되고 어셈블리가 전역 캐시에 배치됩니다.

1. C# 클래스 라이브러리를 만들고 이름을 HelloWorld로 지정합니다
2. 프로젝트 속성을 열고 왼쪽(첫 번째 탭)에서 "Application"을 클릭한 다음 Assembly Information 버튼을 클릭합니다. , 팝업 대화 상자에서 하단에서 확인해야 합니다: 어셈블리를 COM으로 표시합니다! 그렇지 않으면 이 dll은 COM 모드에서 액세스할 수 없습니다. 동일한 효과를 갖는 코드는 System.Runtime.InteropServices를 사용하여 추가해야 합니다. 참조)

PHP는 C#에서 개발된 dll 클래스 라이브러리 메서드를 호출합니다.

3. vs.net의 "Vsitual Studio .Net 도구"-->Vistual Studio .Net 명령 프롬프트를 사용하여 sn -k d:HelloWorld.snk를 입력하고 Enter 키를 눌러 강력한 이름의 서명 파일을 만듭니다.
프로젝트 속성을 열고, 왼쪽에서 서명을 클릭하고 강력한 이름 키 파일 선택에서 어셈블리 서명을 선택합니다. 방금 생성한 HelloWorld.snk 파일을 선택합니다.

PHP는 C#에서 개발된 dll 클래스 라이브러리 메서드를 호출합니다.4. 클래스 라이브러리를 만들어 dll로 컴파일합니다


코드 복사

코드는 다음과 같습니다.namespace HelloWorld

{

//[ ComVisible(true)] //또는 Application-Assembly_Information 대화 상자에서 "Assembly COM-Visible"을 확인합니다.
public class Hello
{
public string Write()
{
return "Hello World "; 🎜>

5. dll 폴더 경로를 찾은 다음 vs.net의 “Vsitual Studio .Net Tool” -->Vistual Studio .Net 명령 프롬프트
를 사용하여 dll 폴더를 입력하고 Enter:

코드 복사
코드는 다음과 같습니다.

regasm HelloWorld.dll

이때 .net 어셈블리는 이 .dll은 표준 Com 구성 요소를 사용할 수 있지만 아직 사용할 수 없습니다. 전역 Com 구성 요소로 전환해야 합니다. 전역 어셈블리 캐시에 어셈블리를 추가합니다. 프롬프트 창에 들어가서 다음을 입력합니다. :

코드 복사
코드는 다음과 같습니다.

gacutil /I HelloWorld.dll

여기서 그러면 dll이 전역 어셈블리 캐시에 복사됩니다. 즉, 이 dll 구성 요소는 이 컴퓨터에 있는 하드 디스크에 관계없이 사용할 수 있습니다. 강력한 이름 지정 서명이 수행되지 않으면 이 단계에서는 로드 오류가 발생합니다.


PHP 테스트:

PHP는 C#에서 개발된 dll 클래스 라이브러리 메서드를 호출합니다.코드 복사

코드는 다음과 같습니다.


$r =new Com("HelloWorld.Hello");

$s=$r->Write() echo $s;>

명령 프롬프트:



코드 복사
코드는 다음과 같습니다:

CD [/D] [드라이브:][경로] #지정된 경로를 입력하세요
CD [..] # 상위 디렉토리로 돌아가기

원본 텍스트 재현: http://www.jb51.net/article/52846.htm

위 내용은 C#에서 개발한 dll 클래스 라이브러리를 PHP가 호출하는 방법을 소개하고 있으며, 관련 내용도 포함되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿