برگزیده های پرشین تولز

.NET Assembly in PHP

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
:blink: :eek: :blink: :eek: :blink: :eek:
NET. در PHP !!!!!!!!!!!! :blink: :blink: :blink:
ای که الآ گفتم یعنی چه ؟ :blink:

یه نگا به لینکای زیر بندازین !
http://ir.php.net/dotnet_load
http://www.devarticles.com/c/a/PHP/Using-the-.NET-Assembly-in-PHP/
:blink:

اینو بخونید :
Using the power of COM interop, you can write code in VB.Net or C# and use it in PHP, VB6, or any other language that can access COM.​
:blink: :blink: :blink:

ای یعنی چه :
PHP:
int dotnet_load ( string assembly_name [, string datatype_name [, int codepage]] )
:blink: :blink: :blink:
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
به نقل از Parsa_361 :
:blink: :eek: :blink: :eek: :blink: :eek:
NET. در PHP !!!!!!!!!!!! :blink: :blink: :blink:
ای که الآ گفتم یعنی چه ؟ :blink:

یه نگا به لینکای زیر بندازین !
http://ir.php.net/dotnet_load
http://www.devarticles.com/c/a/PHP/Using-the-.NET-Assembly-in-PHP/
:blink:

اینو بخونید :
Using the power of COM interop, you can write code in VB.Net or C# and use it in PHP, VB6, or any other language that can access COM.​
:blink: :blink: :blink:

ای یعنی چه :
PHP:
int dotnet_load ( string assembly_name [, string datatype_name [, int codepage]] )
:blink: :blink: :blink:
مثل اینکه این بیلی جون یه رابطه ای با اینا داره!
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
خیلی عجیبه ! :blink:
اصلاً تا دیدم شکه شدم !
مگه میشه همچین چیزی ؟...
حالا چیکار باید کرد تا بشه باهاش کار کرد ؟!
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از sama_sally :
مثل اینکه این بیلی جون یه رابطه ای با اینا داره!
ولی من فکر نکنم اوپن سورس ها برن دنبال بیلی جون ! :D
ولی انگار قضیه همینه !

خیلی حیرت آوره !
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
ها! اینجاست که نشون میده کدوم زبان قویترههههههههه....
59.gif
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از balabala :
ها! اینجاست که نشون میده کدوم زبان قویترههههههههه....
59.gif
آدم عاقل، برنامه نویسیهای سمت کلاینت رو با سمت سرور مقایسه میکنن ؟؟؟؟
این بحثو هم را نندازین که اصلاً خوشم نمیاد
یعنی اینکه به حاشیه نرید ! :eek:

اگه کسی فهمید چه جوری میشه از این امکان PHP استفاده کرد یه ندا بده !
مثل اینکه Extension داره !
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
راستی
میبینید php چقدر مرده ... حتی با اینکه دشمنشه اونو پشتیبانی میکنه که کسانی که با اون کار میکنن تو مشکل گرفتار نشن!
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از Parsa_361 :
بابا من شوخی میکنم
چرا ناراحت میشی
چاکر شما هم هستیم ما :D
من نوکرتم، نه یه مدته دندونم درد میکنه،
اسمایلام اینجوری شده! => :eek:

عرض کنم که اینی که شما گذاشتید من تاحالا ندیده بودم. فکر کنم یک چیزی تو مایه های استفاده از کامپوننتهای دات نت داخل پی اچ پیه. یعنی ساختن آبجکتهای دات نت و استفاده از اونها.:)
مثلا توی ای اس پی دسترسی به دیتابیس از طریق COM هست و ساختن آبجکت کانکشنش، حالا با این کار میشه آبجکتهای توی دات نت رو هم توی پی اچ پی استفاده کرد.
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
تعداد سی دی نصب Studio .net میدونید چند تا هست ؟
7 تا ! :D
من دارم ولی حال ندارم نصب کنم :wacko:
تا صبح طول میکشه !
قبلاً هم نصب کرده بودم ولی پاک شد :D
آخه خودمم چیز زیادی از این زبان های مایکروسافتی نمیدونم
اگه کسی این کارو کرد به ما بگه :D :D
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از Parsa_361 :
تعداد سی دی نصب Studio .net میدونید چند تا هست ؟
7 تا ! :D
من دارم ولی حال ندارم نصب کنم :wacko:
تا صبح طول میکشه !
قبلاً هم نصب کرده بودم ولی پاک شد :D
آخه خودمم چیز زیادی از این زبان های مایکروسافتی نمیدونم
اگه کسی این کارو کرد به ما بگه :D :D
تازه 2005ش که یه دی وی دیه! :wacko:
من یکمی #C و VB.NET میدونم.
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
خوب من بالاخره موفق شدم.:D
همون مثالی رو که ذکر شده انجام بدید نباید با مشکلات زیادی روبرو بشین. فقط یک مشکلی من داشتم و مقداری اذیتم کرد این بود که این ساپورت .Net از نسخه ۵ php هست و من روی لوکال نسخه 4 داشتم. بعد از نصب نسخه ۵ مشکلات برطرف شد.
همون کلاسی رو که گفته بسازید و بعد خود دات نت تو Project Properties در بخش Compile گزینه‌ای به نام Register for COM Interop داره که اگر اون رو علامت بزنید خودش اون رو رجیستر میکنه. و تنها میمونه افزودن به Global Assembly Cache که دستورش رو تو مثال داده. کد php هم که چیز خاصی نداره.
البته من با VS 2005 این کار رو کردم و ممکنه 2003 کمی تنظیماتش متفاوت باشه. اگر خواستید پروژه VB اون رو براتون ضمیمه میکنم.
در کل خیلی جالب بود.
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از Parham.G :
خوب من بالاخره موفق شدم.:D
همون مثالی رو که ذکر شده انجام بدید نباید با مشکلات زیادی روبرو بشین. فقط یک مشکلی من داشتم و مقداری اذیتم کرد این بود که این ساپورت .Net از نسخه ۵ php هست و من روی لوکال نسخه 4 داشتم. بعد از نصب نسخه ۵ مشکلات برطرف شد.
همون کلاسی رو که گفته بسازید و بعد خود دات نت تو Project Properties در بخش Compile گزینه‌ای به نام Register for COM Interop داره که اگر اون رو علامت بزنید خودش اون رو رجیستر میکنه. و تنها میمونه افزودن به Global Assembly Cache که دستورش رو تو مثال داده. کد php هم که چیز خاصی نداره.
البته من با VS 2005 این کار رو کردم و ممکنه 2003 کمی تنظیماتش متفاوت باشه. اگر خواستید پروژه VB اون رو براتون ضمیمه میکنم.
در کل خیلی جالب بود.
اییییول ! :D :D :D
خوب بگو ببینم کدی چیزی تو PHP تست کردی ؟
جواب گرفتی ؟
بزار اینجا ببینیم کدت رو :D

راستی این اولین پستم با این امضا هست :D :
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
به نقل از Parsa_361 :
اییییول ! :D :D :D
خوب بگو ببینم کدی چیزی تو PHP تست کردی ؟
جواب گرفتی ؟
بزار اینجا ببینیم کدت رو :D

راستی این اولین پستم با این امضا هست :D :
آره دیگه، گفتم که همون مثال رو کامل تست کردم. یک کلاس دات نت داره که یک پردازش روی تاریخی که میگیره انجام میده. کد پی اچ پی هم که کلا چهار خطه. خط اول یک آبجکت از نوع همون کلاسی که تو اسمبلی هست تعریف میکنه، بعد به یکی از متغیرهاش مقدار میده، همون مقدار رو چاپ میکنه، و خط آخر هم مقدار پردازش شده توسط کلاس رو میگیره و چاپ میکنه. به همین سادگی!
این که کد php بود:
PHP:
<?php
$MyObj = new COM("phpclass.HealthRecord.patient");
$MyObj->lmp = "05/08/2002";

echo "LMP : $MyObj->lmp";
echo "<BR>EDD : $MyObj->edd";
?>

برنامه وی بی دات نت رو هم ضمیمه کرد. فقط همونطور که گفتم ۲۰۰۵ هست. یک دفعه پروژه رو کامپایل کنید. بعد این دستور رو تو Command Prompt ویژوال استودیو بدین: (فقط توجه داشته باشید که آدرس فایل رو متناسب با محلی که پروژه رو ذخیره کردین تغییر بدین)
gacutil /i C:\phpclass\phpclass\bin\Release\phpclass.dll​
 

فایل های ضمیمه

  • phpclass.zip
    40.8 KB · نمایش ها: 3
بالا