http://www.webmasterlari.com sitesinden alintidir.
Php`ye yeni başlayanlar bu yazıyı okumasın, en az bir yıllık php kullanıcısı iseniz mutlaka okuyun.
PHP 5 - Herşeyin değiştiği gun
Php 5 versiyon ile Nesne yonelimli programlama on plana cıktı (7 Temmuz 2004). php'yi eleştirenler bu tarihte artık soz soyleyemez hale geldi, geliştirilmiş class yapısı ve sihirli fonksiyonlar ile işler daha da kolaylaştı. Siz de halen projelerinizde Class kullanmıyorsanız yazdığınız kodlar php 4 mantığına gore calışmaktadır, kullandığınız sunucuda php 6 kullanılıyor olsa da sizin algoritmalarınız daima php 4 kıvamında kalacaktır. bu sozum ozellikle fonksiyonlarla hayatına devam edeceğini duşunenlere geliyor. Artık daha hızlı kod yazma vaktiniz gelmedi mi, kopyala yapıştır işleminden bıkmadınız mı ?
Elbette fonksiyonlar ile her turlu işlemi yapmanız mumkundur, fakat proje buyudukce fonksiyonların icinde boğulduğunuzu goreceksiniz, ve hangi sayfada hangi kodların olduğunu karıştıracaksınız. kopyala yapıştır canınızı sıkmaya başlayacak.
Bu olay cok sık başınıza geliyorsa artık biraz zahmet edip yeni şeyler oğrenerek Class dunyasına girmeniz gerekiyor. oğrendikce neler kacırdığınıza pişman olacaksınız.
if(! Tamam ikna oldum Peki Nedir Bu Class ) exit;
Tamam class dunyasına girelim ama daha kapıdan bakarken bile birsuru ingilizce terim canımızı sıkıyor, oda yetmezmiş gibi Turkceye cevrilmiş yazıları bile anlayamıyorum, ne olacak bizim halimiz !
Oncelikle bu ders serisinde herşeyin kolay olacağını soyliyeyim ve iciniz rahatlasın. yabancı kaynaklarda olmadığı kadar kolay ve turkce kaynaklarda bulamadığınız kadar basit anlatacağım. yazdığım kodlara hicbir zaman betik, yordam falan demeyeceğim
Class: Fonksiyon ve değişkenlerin bir arada olduğu pakettir.
aslında class bu kadar kolay ve kısa
Fonksiyonun ne olduğunu biliyorsunuz, değişkeni zaten kullanıyorsunuz. peki aynı anda 3-4 fonksiyonu kullanan sayfanız yok mu ? var
Gerektiğinde bu fonksiyonları kopyalıyor yada include ile cağırıyorsunuz değil mi !
işte class bu işlemi daha duzenli hale getiriyor ve dışardan mudahaleyi onluyor. son olarak yaptığınız class paketini bir dosyaya koyup gerektiğinde include ile cağırıyorsunuz.
Yani oyle fazla abartılacak bir olay değilmiş. madem oyle hadi bir class yapalım.
diyelim ki şoyle bir fonksiyona sahibiz, bu fonksiyon dosya silme işlemi yapıyor:
function silici($dosya)
boyle kısa fonksiyon olmaz ama ornek kodları fazla uzatmayalım.
Bu fonksiyonda onemli bir sorun var, dosya adı herhangi birşey olabilir. orneğimizi web sitesinde kullandığımızı duşunelim.
$dosya=$_GET["ismi"];
silici($dosya);
bu sayfayı cağırmak icin kullanıcı adres satırına şoyle bir link ile tıklıyor:
kontrol.php?ismi=resim1.jpg
tamam işte, ne guzel sayfa. resimleri silmeye yarıyor. sorun yok !
yok mu ?
peki kullanıcı bunu yazarsa ne olur.
kontrol.php?ismi=index.php
Bu durumda fonksiyonumuz hangi dosyayı siler ?
evet tahmin ettiğiniz gibi kullanıcı sitedeki herşeyi silebilir. tabii ki bu basit bir ornek. biz kısa bir duzeltme ile bunu onleyebiliriz. şimdi durumu duzeltmek icin bir fonksiyon daha ekleyelim.
$uzantilar = array("jpg", "gif", "png", "jpeg");
function resim_mi($dosya)
else
}
function silici($dosya)
}
Şimdi elimizde iki fonksiyon var. bunları bir dosyaya koyup gerektiğinde include ederek tek bir satırla kullanmamız mumkun.
silici($dosyaismi);
Hazır başlamışken aynı dosyaya upload icin gerekli birkac fonksiyon daha koyalım ve oylece kullanalım. gayet guzel gidiyor değil mi !
Aslında class ile tam olarak bunu yapıyoruz. gerekli değişkenleri ve fonksiyonları paketliyoruz ve tek dosyada kullanıyoruz. Boylece fonksiyon.php isimli ve icinde onlarca fonksiyon olan uzun bir dosya yerine gerektiğinde kullanılacak daha kucuk dosyalarımız oluyor. Bu dosyalar bir amaca uygun paketlendiği icin birbirine karıştırmıyoruz. duzenli olması icin dosya ismi ile class ismi aynı oluyor.
Yukarıdaki fonksiyonları kullanarak uretilecek class paketi:
---------- dosyaci.php ismiyle kaydedilecek---------
class dosyaci
else
}
function silici($dosya)
}
}
hepsi bu... gecmiş olsun.
Şimdi kırmızı ile gosterdiğim ve yeni oğreneceğiniz bolumlere bakalım.
class dosyaci
class bu şekilde oluşturuluyor. ve isimden sonra normal parantez işareti gelmiyor. isim olarak fonksiyondaki kurallar gecerli. Turkce karakter olamaz.
var $uzantilar
Paket icinde kullanılacak değişken. mudahale etmek gerektiğinde sayfa icinde aramakla uğraşmak yerine class.php dosyasının başına bakmamız yeterli.
$this->resim_mi($dosya)
Class paketi icersinden bir fonksiyon cağırırken bu şekilde $this diyoruz. Turkcesi bu class icindeki bir fonksiyon veya değişken.
yaptığımız dosyayı kullanmak icin sayfanın başında include etmemiz gerekiyor.
ornek kullanımı:
include("dosyaci.php");
$a = new dosyaci;
$a->silici($_GET["ismi"])
onceki işlemlerimize gore bir satır fazla yazmış olabiliriz ama toplamda bize cok vakit kazandırıyor ve tekrar kullanması kolaylaşıyor. sihirli fonksiyonlarla birlikte aslında daha az yazdığımızı farkediyoruz.
Php class oğrenenler icin ilk adım
PHP & PHP Framework0 Mesaj
●2 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Server-Side Programlama
- PHP & PHP Framework
- Php class oğrenenler icin ilk adım