PHP’de OOP
OOP nedir?
OOP’nin acilimi; Object Orientated Programming’dir
OO’nun acilimi; Object Orientated’dir
Object Nedir?
OOP PHP’de Objectlerle Calisir. Bir Object’in Bircok Ozelligi vardir: Tipki insanlar gibi. Mesela saç rengi, göz rengi, deri rengi, boy ve kilo. Objelerin fonksiyonlarida vardir (Method’da denilebilir). Yine insanlardan örnek verecek olursak; konusmak, yemek yemek, kosmak vs. Bu Fonksiyonlarda Insan bedeni gibi birbirleriyle calisirlar.
Objectlerden yeterince bahsettik; Simdi bir ornege gelelim. Ornegimizdede Insan Hayatindan bahsedecegiz.
Neden OOP kullanalim?
öncelikle sunu diyebilirimki OOP kullanmak icin OOP kullanmayin. Buyuk Scriptlerde kullanmanizi tavsiye ederim.
OOP Yaninda Faydalarida getiriyor:
OOP Cok Nettir (Duzgun Kullanirsaniz OOP’u)Bir Class’i Bircok Scriptte KullanabilirsinizKodlarken Amaciniza Daha Hizli Ulasirsiniz, Hizli Kodlama• Bircok Baskalari Tarafindan kodlanan Class’i Hic Editlemeden Kullanabilirsiniz.
Örnek;
Ben örnek bir script kodladim. Scriptte Mantigini anlamaniz icin Insan’i Ele aldim :)
<?php
/* Chip Okurlari icin Yazilmis Olan OOP PHP
* Yazar: TreXiaNos
* Bu Scriptte Insan'i el'e Alacagiz, herseyin daha iyi
* anlasilabilir olmasi icin.
*/
error_reporting(E_ALL);
class Insan {
var $yas;
var $sacrengi;
var $deri_rengi;
var $boy; // Santimetre
var $kilo; // Gram
var $SonYemekYiyis;
var $MetreKostu;
function Insan(){
$this->InsaniYasat();
$this->boy = 30;
$this->yas = 0;
$this->kilo = 2500;
}
function dogumgunu() {
$this->yas++; // Dogum Gununde Bir insan 1 yas Yaslanir.
}
function kosturinsani($kilometre){
$this->MetreKostu += $kilometre; // Class'in basinda MetreKostu'yu belirlemistir. Ona Kac Kilometre Kostugumuzu Eklettim
$this->kilo = $this->kilo*0.95; // Kostugumuzde Enerji Tukettigimiz icin, Bunudu yapmaliyiz. :) Kilolari verdirttik
}
function InsaniYasat(){
// Bir Insanin Hayatini Baslat
}
function insani_oldur(){
// Insan Oldugunde Butun Degerleri 0 Yap
$this->yas = 0;
$this->deri_rengi = '';
$this->boy = '';
$this->kilo = '';
$this->MetreKostu = 0;
}
function yemek_yedir($yedigigram){
if($yedigigram > 0){ // Yedigi Yemek 0 gramdan Buyukse...
$this->SonYemekYiyis=time(); // Son Yemek Yiyis'e time()'nin output'unu ekliyoruz.
$this->_buyu($yedigigram/0.9); // Kisiye Yedigi Yemegin Yuzde 10'u kadar boy ver. (Bu tabi
// Dogru degil sadece gosteriyorum.
}
}
function _Kiloaldir($yedigigram){
// Bu fonksiyonla Kisiye Kilo aldiracagiz
// Fonksiyon isminin underscoreyla baslamasinin sebebi bu fonksiyonun
// Private olmasidir. Yani Fonksiyon sadece class cagirisa calisir.
$this->kilo += $yedigigram;
}
function _buyu($santimetreler){
$this->boy += $santimetreler;
}
}
$ali = New Insan; // Yeni insan Yarat..
// Simdi ali'ye Yemek Yedirecegiz :)
$ali->yemek_yedir(3000); // Makarna yedirdik Ali'ye :)
$ali->yemek_yedir(40); // Simit'te verdik Ali'ye
$ali->yemek_yedir(50); // Ali'ye puding yedirdik
$ali->dogumgunu(); // Bugun Ali'nin Dogum Gunu :) IYI KI YAPTIM SENI ALII :)
// Ali O kadar cok yemek yemis ki.. Kilo Almis :) Yurusun Ormanda bakalim
$ali->kosturinsani(3000); // 3km yol yuruttuk
// Ne Yazikki Scriptimizin Sonuna dogru Ali Merhum Oluyor..:(
$ali->insani_oldur();
?>