Php İle Nesne Yönelimli Programlama

Suskun

Kıdemli Üye
23 Ocak 2012
2,766
680
Germany
giphy.gif


Selamlar,
Bugün ki konumda nesne yönelimli programlamaya (Object Oriented Programming) giriş yapıyoruz.


7z0AWK.png


Php İle Nesne Yönelimli Programlama başlıkları;

• Php Neleri Kapsıyor?
• NYP'de Kullanılan Özellikler?

7z0AWK.png


Php Neleri Kapsıyor?

Sıfırdan Php heyetiminden başlayıp ileri düzey konuları, kolay data tabanı bilgisi ve işlemlerini, neseneye yönelik programlama yapısını kapsamaktadır.

ucretsiz-php-egitim-dersi-udemy-kurslari-1.jpg



7z0AWK.png


Nesne yönelimli programlama yalnızca php için değil hemen hemen bütün dillerde olan bir yapıdır. Yazdığımız kodlarımızı nesne olarak tanımlamak kodumuzun okunabilirliğini performansını pozitif istikamette etkiler. Nesne yönelimli programlamada kimi temel yapılar vardır.

<?php

class Araba {
// sadece sınıf içerisinden erişilebilen değişkenler. Private olduğu için
private $marka;
private $plaka;

// sınıfın dışından da erişilebilen değişkenler. Public olduğu için
public $arabaSahibi;

// Yapıcı Method
public function __construct($marka,$plaka) {
echo "Yeni araba nesnesi oluşturuldu.<br/>";
$this->setMarka($marka);
$this->setPlaka($plaka);
}
// Sınıf dışından erişilebilen method
public function arabaBilgileriniGoster() {
echo 'Araba Markası:'.$this->marka.
" <br/> Araba Plakası:".$this->plaka;
}
// sadece sınıf içerisinden erişilebilen methodlar.
private function setMarka($marka) {
$this->marka = $marka;
}
private function setPlaka($plaka) {
$this->plaka = $plaka;
}

7z0AWK.png


NYP'de (Php Nesne Yönelimli Programlama)Kullanılan Özellikler?

1929272_3951.jpg


Sınıf (Class);
Sınıf dediğimiz yapı bizim nesnemizin yapı taşını oluşturur. Sınıf içerisinde nesneye ait özellikler ve nesnenin yapabileceği işlevler yazılır.Yukarıdaki örneğimizde araba markası ve plakası bizim özelliğimiz, arabaBilgileriniGoster() bizim nesnemizin yapabildiği işlevlerden biridir.


Private;
private anahtar kelimesi bizim değişken veya methodumuza sınıfın dışından ulaşılmasını engeller. Bu engellemenin temel sebebi güvenlik açığı oluşmasını engellemektir. Sözgelimi bizim sınıfımızda aracın plakasına dışarıdan müdahale edilmesi sistem zaafiyeti olacağından plakayı yalnızca sınıf içerisinden ulaşılabilir bir değişken yaptık.


Public;
public anahtar kelimesi değişken veya methoda sınıf dışından da ulaşılabilmesini sağlıyor.


__construct;
NYP'da özel methodlardan biridir. Bir sınıf başlatıldığında ilk çağırılan methoddur yapıcı method da denir. __construct methodu yerine sınıfın isimi yazılarakta kullanılabilir. yapıcı method içerisinde sınıfın çalışması için başlangıç ayarları yapılır. ilk değişken atamaları, sınıf çalışmaya başlarken yapılacak işlemler burada yapılır. Bir sınıfın ansızın fazla yapıcı methodu olabilir. Bu methodlar parametre sayısına göre birbirinden ayrılır.


Protected;
protected anahtar kelimesi ise sınıfa ait değişken veya methodların o sınıftan türetilen sınıflarda kullanılabilmesini sağlar. private anahtar kelimesindeki gibi sınıf dışından ulaşıma müsaade edilmez. protected anahtar kelimesi irsiyet yaptığımız vakitlerde kullanılır. ilerleyen vakitlerde kalıtım konusuna da değineceğiz.


New;
new anahtar kelimesi ise sınıftan yeni bir nesne oluşturmak için kullanılır. sözgelimi new Araba(); gibi.


$this;
Bir sınıfa ait değişken veya methoda sınıf içerisinden ulaşmamızı sağlar. $this değişkeni bizim sınıfımızı ifade eder.


Şimdi ise yukarıdaki örneği çalıştıralım,

Yeni araba nesnesi oluşturuldu.
Araba Markası:Audi
Araba Plakası:25 VA 025

örnek olarak bizim yapıcımızda iki değişken vardı yeni nesne oluştururken de sınıfa parametre olarak iki parametre girdik,Sınıfımızı bir kere yazdıktan sonra o sınıftan istediğimiz kadar nesne oluşturabiliriz.

7z0AWK.png


CckryH.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.