وبلاگ سید محمد اصغری

اجرای کتابخانه C# در برنامه php

سیدمحمـد اصغری نکاح | 29 December, 2018 15:52

برای استفاده از یک dll سی شارپ در محیط php چکارهایی باید انجام بدیم.
ایجاد یک برنامه C#
1- ابتدا ویژوال استودیو رو در حالت ادمین  (run as administrator)  بازکنید. دقت کنید این مرحله برای ادامه کار ضروری است.
2- از منو File > new > Project یک پروژه C# class library ایجاد کنید. در اینجا من اسم اون رو TestSum گذاشتم.
کدهای زیر رو درون اون کپی کنید. 
using System.Runtime.InteropServices;
namespace TestSum
{
    [ComVisible(true)]
    public class Class1
    {
        public int sum(int a, int b)
        {
            return (a + b);
        }
    }
}
3- حال باید به تنظیمات پروژه بریم. (Project > Properties > Build (tab بعد تیک گزینه Register for COM interop رو بزنید. با این کار موقع ساخت کتابخانه این فایل به صورت سراسری در سیستم عامل تعریف میشه و براحتی میشه در PHP اون رو فراخوانی کرد.
C# 
4-  حالا Build solution رو میزنیم تا پروژه در پوشه bin/Debug یک فایل dll هم نام با پروژه ما بسازه.
بریم سراغ PHP
5- در php میخواهیم از خاصیت The COM class استفاده کنیم. درصورتی که این خاصیت رو ندارید باید php_com_dotnet.dll رو به php.ini اضافه کنید.
6- با فرض داشتن این خاصیت قطعه کد زیر رو به برنامه اضافه میکنیم. 
$word = new COM("TestSum.Class1") or die("Unable to instantiate TestSum");
echo $word->sum(10,3);  
7- درخط اول تعریف کردیم که نیاز داریم از چه کتابخانه ای و چه کلاسی TestSum.Class1 استفاده کنیم و در خط دوم تابعی که نوشته بودیم رو فراخوانی کردیم.  
8- جوابی که برمیگرده برابر است با 13.
 
تبریک حالا میتونید از سی شارپ در پی اچ پی استفاده کنید. 
  
 
 
 

نظرات

تشکر

امیرحسین | 14/01/2019, 22:17

سلام ممنون مطلب مفیدون خیلی کمکم کرد

:)

اصغری | 23/01/2019, 12:46

سیدمحمـد اصغری نکاح باعث خوشحالی هست که به کارت اومده امیر حسین جان
ارسال نظر
Info

توجه: از ارسال پيام هاي خصوصي در حالت لاگين براي نويسنده وبلاگ اجتناب نماييد.
در صورتی که در فرم ارسال نظر، نام شما توسط سیستم شناسایی شده باشد(در حالت لاگین) نظر شما بلافاصله منتشر خواهد شد.


در غیر اینصورت نظر شما پس از تایید توسط مالک وبلاگ منتشر خواهد شد.

 authimage
 
Accessible and Valid XHTML 1.0 Strict and CSS
Converted to use with ITS. Powered by FUMblog