by Mehmet KURT
22. Ekim 2009 19:17
Seviye : İleri
Uzun zamandır sizlerden uzak kalmanın üzüntüsü içerisinde araştırma ve geliştirmelerime son gaz devam ederken, son dönemlerde php ve .net arasında kullanılmak üzere bir kütüphane geliştiriyorumdum. Kütüphaneyi .net ortamında C# ile yazıyorum. Kütüphaneyi yazdım iyi güzel'de php ile nasıl kullanacaktım ? Önce sorunun kaynağına inip aralarında nasıl bir ilişki olduğunu çözmek gerekiyordu. Araştırmalarım sonucunda iki ortamında ortak noktası olan Component Object Model(COM)'dan yararlanmanın en sağlıklı yöntem olduğuna kanaat getirdim. Aşağıdaki gibi bir .net class'ımız olduğunu düşünerek başlıyoruz. Kısaca bu class'ı php ortamında nasıl kullanacağımıza dair küçük bir örnek gösteriyor olacağım.
namespace VeriMask
{
public class Product
{
public int ID { get; set; }
public int Name { get; set; }
public int Code { get; set; }
public string GetNameAndCode()
{
return String.Format("Product Name : {0}, ProductCode : {1}", this.Name, this.Code);
}
}
}
Yukarıda oluşturduğumuz class'ımızı bir proje'ye include edip. Bu projeyi build ediyoruz. gacutil /i c:\projedizinimiz\dll dosyamızın adı şeklinde komut satırından çalıştırıp. Assembly Sisteme kayıt ettiriyoruz.
Bu işlemden sonrası çocuk oyuncağı :) İşte o sihirli kodlar.
<?
$objemiz = new COM ("dllAdımız.VeriMask.Product");
$objemiz ->GetNameAndCode = "05/08/2002";
echo "$objemiz->GetNameAndCode";
echo "<BR>Product ID : $MyObj->ID";
?>
Php dosyamızı çalıştırıp çıkan sonucu gördüğümüzde gözlerimiz yaşarıyor. Ne güzel bir kardeşlik oldu :)
Bu kısa makalemiz tamamen ileri seviye düşünülmüş ve ona göre yazılmıştır. Bu nedenle orta veya alt seviye bilgi sahibi arkadaşlar info@mehmetkurt.net email adresine bilgi almak için mail atabilirler.