Aramayan Bulamaz
×
Çağırma arama sorgusuna ait içerikleri görüntülemektesiniz.
PHP Nesne Tabanlı Programlama

Nesne tabanlı programlama, yazılım geliştirmek için kullanılan bir teknolojidir. OOP yani object-oriented programming, Türkçe karşılığı nesne tabanlı programlama, sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. C# temelinde nesne tabanlı bir dildir. Çok sayıda nesne hazır olarak C# içerisinde bulunur ve bu nesneler kullanılarak program yazılır. Ayrıca kendimiz de bir sınıf yazabiliriz.

OOP üç prensibe sahiptir.

Encapsution Inheritance Polymorphism

Encapsulation: Nesne hakkındaki bilgiler ve işlemlerdir. Metot ve özellik olarak adlandırılan bu işlemler nesnenin niteliklerini ortaya çıkartır. Bir arabanın rengi ve büyüklüğü gibi.

Inheritance: Nesnenin başka bir nesne üzerine, bir üst nesneden etkilenerek, kurulmasıdır. Bir bilgisayarın parçalardan oluşması ve parçalarında bilgisayarın tam nesnesinden etkilenmesi.

Polymorphism: Belirli bir işlemin bir çok nesne tarafından kullanılmasıdır.

PHP de Nesne Tabanlı Programlama

PHP de nesne tabanlı programlamayı anlayabilmek için ilk önce PHP'nin temel yapı taşları olan fonksiyonlar ve değişkenler konusunda tam bir bilgiye sahip olmak gerek.

Bir sınıf oluşturmak için class komutunu kullanırız.

sinif.php isminde bir dosya oluşturalım

<?php class bilgisayar{ } ?>

sınıfımızın içi boş bundan sonra buraya değişken tanımlaması ve fonksiyondan başka bir şey yapamayız, yapacağımız her işlem için fonksiyon yazmamız gerek. Burada mantık şu, yazacağımız sınıfa özel olan fonksiyonu yazıp gerektiği yerde gereken fonksiyonu çağırmamız gerek, veritabanı sınıfı yazıp içine grafiksel istatistik çıkaran bir fonksiyon yazmamız uygun olmaz.

<?php class bilgisayar{ public $marka, fiyat; function marka_tanimla($yenimarka){ $this->marka = $yenimarka; } function marka_goster(){ return $this->marka; } } ?>

PHP\'de Fonksiyon Hazırlama, Çağırma ve Kullanma

Fonksiyonlar verilen, istenilen ya da o sırada üretilen bilgiyi bize daha sonradan işlenmiş bir şekilde sunarlar.
Mesela bir fonksiyona istediğimiz özellikte bir tablo yaptırabiliriz, ya da çarpım tablosu vs gibi şeyler yaptırabiliriz.
Genel olarak kullanım şekli:
function FonksiyonIsmi(){ echo "Niyazi Alpay"; }

bu fonksiyon çağırıldığında ekrana Niyazi Alpay yazdıracaktır.

FonksiyonIsmi();

şeklinde çağırılır.

Fonksiyon ile daha farklı işlemler yapılabilir bu çok basit bir işlemdi, sadece adımızı yazdırdık ekrana.

Çarpım tablosu yaptırmak istersek eğer fonksiyonumuz şu şekilde olacak:

function CarpimTablosu(){ echo '<table border="1" align="center">'; for($i=0; $i<10; $i++){ echo '<tr>'; for($k=1; $k<=10; $k++){ echo '<td>'.($i+1).' x '.$k.' = '.($i+1)*$k.'</td>'; } echo '</tr>'; } echo '</table>'; } CarpimTablosu(); Ekran çıktısı


Fonksiyonlarda Parametre

Parametre fonksiyona dışarıdan değer alıp o değeri işleyerek çıktı vermedir.

Dışarıdan girilen bir metin içerisindeki A harflerini B ile değiştiren fonksiyonu yazalım, burada farklı bir komut daha göreceğiz şimdi, str_replace(); PHP kütüphanesinin kendine özgü olan yeniden düzenleme yapan fonksiyonudur bu, ve bu da parametreli bir fonksiyondur şimdi parametrenin ne olduğunu bir örnekle daha anlaşılır hale getireyim.

function Degis($yazi){ $yeni_yazi = str_replace('A','B',$yazi); echo $yeni_yazi; }

Şimdi bu fonksiyonu çağırırken $yazi diye belirttiğimiz yer parametredir, burayı dışarıdan girilecek bir değişken olarak tanımladık, Degis('NİYAZİ ALPAY'); olarak çağırdığımızda ekran çıktıs

C#\'ta Class Hazırlama ve DLL (Dinamic Link Library) Dosyası Oluşturma

Classlar içerlerinde çeşitli methodları, olayları ve özellikleri barındıran sınıflardır.Bir dll dosyası da çeşitli classların bir araya gelmiş halidir.İlk önce normal bir class yapısını anlatacağım. class Alpay { public string MesajUyarısı(string a) { MessageBox.Show(a); return a; } } Alpay isminde bir class tanımladık, class ın içinde string tipli public MesajUyarısı isimli bir fonksiyon tanımladık, classı kullanmak için programa eklediğimiz herhangi bir butonun click olayına şunları yazıyoruz, ilk önce classımızı çağırıyoruz yeni bir nesne oluşturarak sonra da o nesne içerisindeki fonksiyonumuzu çağırıyoruz Alpay mesaj = new Alpay(); mesaj.MesajUyarısı("Muhammed Niyazi Alpay"); Alpay isimli classtan mesaj isimli nesne oluşturuyoruz ve mesaj isimli nesne içerisinden MesajUyarısı isimli fonksiyonu çağırıyoruz, ekrana mesajbox ile Muhammed Niyazi Alpay yazdıracaktır.
Şimdi bu classımızı bir dll oluşturarak dll içerisinden çağıralım. DLL dosyası oluşturmak için yeni bir visual studio açalım, yeni Class Library projesi oluşturalım.Şimdi gelen pencerede Class ismi varsayılan olarak Class1 olarak geldi, buraya bir önceki konudaki belirttiğim gibi md5 hesaplayıcı kodlarını ekleyeceğim, ilk önce System.Security.Cryptography; isim uzayını çağırıyoruz, sonra md5 hesaplayıcı kodlarımızı yazıyoruz. Kodlarımız aşağıdaki gibi olmalı: public class Class1 { public static string md5(string gelenveri) { if (string.IsNullOrEmpty(gelenveri)) return null; byte[] ByteData = Encoding.ASCII.GetBytes(gelenveri); MD5 AlpayMd5 = MD5.Create(); byte[] HashData = AlpayMd5.ComputeHash(ByteData); StringBuilder Cryptograph = new StringBuilder(); for (int x = 0; x < HashData.Length; x++) { Cryptograph.Append(HashData[x].ToString("x

C# Fonksiyon Tanımlama ve Çağırma

Fonksiyonlar işlerimizi daha kısa yoldan halletmemizi sağlayan komut kalıplarıdır.C# ta fonksiyonların da değişkenler gibi türleri vardır.En basit haliyle :

string Fonksiyon(string a) { MessageBox.Show(a); return a; } şeklinde tanımlanır. Fonksiyon isminde string tipinde bir fonksiyon tanımladık, yine string tipli a değişkenine bağlı bir parametre belirttik, fonksiyonun yaptığı işlem a parametresine göre gelen değeri ekrana mesaj box ile yazdırmak, return a ifadesiyle fonksiyon içindeki a parametresini dışarıya çağırmış olduk. Kısaca anlatmak gerekirse dışarıdan girilen bir değer var ve bu değeri ekrana yazdırıyoruz. Kullanımı da şu şekilde: Fonksiyon("Cryptograph"); ekrana mesaj box ile Cryptograph yazdıracak.
Fonksiyonlar public veya private olarak da tanımlanabilirler, public olarak tanımlanan fonksiyon farklı bir dosyadan çağırılabilir bir fonksiyondur, private olarak tanımlanan fonksiyon ise sadece bulunduğu dosya üzerinde çalışır.
Dışarıdan girilen iki sayının toplamını yapan public bir fonksiyon tanımlayalım. public int Fonksiyon3(int a, int b) { int c = a + b; MessageBox.Show(c.ToString()); return c; } Fonksiyon3 isimli fonksiyon aynı proje içerisinde farklı bir dosyadan çağırılabilir durumdadır şu anda. Bunu bir butonun click olayında kullanmak istersek yazmamız gereken komut şudur:


Fonksiyon3(Convert.ToInt32(textBox2.Text), Convert.ToInt32(textBox3.Text)); textboxtan gelen veriler string tipli oldukları için onları integer tipe dönüştürmemiz gerekiyor, dönüşüm fonksiyonu içerisinde gelen verileri fonksiyonda belirtiyoruz ve toplamları ekrana mesaj box ile yazdırılıyor.

Örnek Dosya

C#\'ta Veritabanı Bağlantısı

C#'ta SQLServer bağlantısı için isim uzayı olarak SqlClient'ı çağırmamız gerekiyor (using System.Data.SqlClient;), veya başka bir veritabanı için hangi isim uzayı gerekiyorsa onu çağırırız. Mysql için net connector kuruluysa eğer using MySql.Data.MySqlClient;  kullanırız.
Bağlantı komutları: SqlConnection, eğer mysql kullanacaksak MySqlConnection. Dikkat ederseniz komutun başına sadece My eki geldi. Ben örneğime MySql üzerinden devam edeceğim.
MySqlConnection baglanti = new MySqlConnection("server=localhost; userid=root; password=root; database=cryptograph");
MysqlConnection komutu ile baglanti isminde bir nesne oluşturuyoruz, eşitlikten sonra parantez içinde veritabanı bilgilerimizi yazıyoruz.Server veritabanımızın bulunduğu yer, userid veritabanı kullanıcısının adı, password veritabanı kullanıcısının şifresi, databasede ise veritabanımızın adı tanımlanıyor.
Şimdi sadece baglanti isminde bir nesne tanımladık, bu bağlantıyı açmadık. Bağlantıyı açmak için baglanti.Open(); komutunu kullanıyoruz. Bu şekil bir kullanımda eğer bağlantıda sorun yaşanırsa program hata verir ve çalışması durur. Bu gibi durumlarda try-catch hata kontrol komutları kullanırız.
try{ baglanti.Open(); MessageBox.Show("Bağlantı açıldı"); } catch (Exception hata){ MessageBox.Show(hata.ToString(),"Hata"); }
Bağlantı açıldığı durumda ekrana Bağlantı açıldı uyarısı verecek, bağlantının hatalı olduğu durumda ise ekrana hata kodu ile birlikte hata mesajını verecektir.
Bağlantıyı kapatmak içinse baglanti.Close(); komutunu vermemiz gerekecektir.


Örnek dosyayı buradan indirebilirsiniz