PHP Eğitimi

PHP ANA SAYFA PHP'ye Giriş PHP Kurulumu PHP Sözdizimi PHP Yorumları PHP Değişkenleri PHP Yankı / Yazdır PHP Veri Türleri PHP Dizeleri PHP Numaraları PHP Matematik PHP Sabitleri PHP Operatörleri PHP If...Else...Elseif PHP Anahtarı PHP Döngüleri PHP Fonksiyonları PHP Dizileri PHP Süper Küreseller PHP Normal İfade

PHP Formları

PHP Form İşleme PHP Form Doğrulama PHP Formu Gerekli PHP Formu URL/E-posta PHP Formu Tamamlandı

PHP Gelişmiş

PHP Tarih ve Saat PHP Dahil PHP Dosya İşleme PHP Dosyası Aç/Oku PHP Dosyası Oluştur/Yaz PHP Dosya Yükleme PHP Çerezleri PHP Oturumları PHP Filtreleri PHP Filtreleri Gelişmiş PHP Geri Çağırma İşlevleri PHP JSON'u PHP İstisnaları

PHP OOP

PHP OOP nedir PHP Sınıfları/Nesneleri PHP Oluşturucu PHP Yıkıcı PHP Erişim Değiştiricileri PHP Kalıtımı PHP Sabitleri PHP Soyut Sınıfları PHP Arayüzleri PHP Özellikleri PHP Statik Yöntemler PHP Statik Özellikler PHP Ad Alanları PHP Yinelenebilirler

MySQL Veritabanı

MySQL Veritabanı MySQL Bağlantısı MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Veri Ekle MySQL Son Kimliği Al MySQL Ekle Çoklu MySQL Hazırlandı MySQL Seçim Verisi MySQL Nerede MySQL Sıralaması MySQL Verileri Sil MySQL Güncelleme Verileri MySQL Sınır Verileri

PHP XML'i

PHP XML Ayrıştırıcıları PHP SimpleXML Ayrıştırıcı PHP SimpleXML - Al PHP XML Expat'ı PHP XML DOM'si

PHP - AJAX

AJAX'a Giriş AJAX PHP AJAX Veritabanı AJAX XML'i AJAX Canlı Arama AJAX Anketi

PHP Örnekleri

PHP Örnekleri PHP Derleyici PHP Testi PHP Alıştırmaları PHP Sertifikası

PHP Referansı

PHP'ye Genel Bakış PHP Dizisi PHP Takvimi PHP Tarihi PHP Dizini PHP Hatası PHP İstisnası PHP Dosya Sistemi PHP Filtresi PHP FTP'si PHP JSON'u PHP Anahtar Kelimeler PHP Libxml PHP Postası PHP Matematik PHP Çeşitli PHP MySQLi PHP Ağı PHP Çıkış Kontrolü PHP Normal İfade PHP SimpleXML PHP Akışı PHP Dizisi PHP Değişken İşleme PHP XML Ayrıştırıcı PHP Posta Kodu PHP Saat Dilimleri

PHP OOP - Sınıflar ve Nesneler


Bir sınıf, nesneler için bir şablondur ve bir nesne, bir sınıf örneğidir.


OOP Vaka

Fruit adında bir sınıfımız olduğunu varsayalım. Bir Meyve isim, renk, ağırlık gibi özelliklere sahip olabilir. Bu özelliklerin değerlerini tutmak için $isim, $renk ve $ağırlık gibi değişkenler tanımlayabiliriz.

Bireysel nesneler (elma, muz vb.) oluşturulduğunda, sınıftan tüm özellikleri ve davranışları devralırlar, ancak her nesnenin özellikler için farklı değerleri olacaktır.


Bir Sınıf Tanımlayın

Bir sınıf, class anahtar kelime, ardından sınıfın adı ve bir çift küme parantezi ({}) kullanılarak tanımlanır. Tüm özellikleri ve yöntemleri parantezlerin içine girer:

Sözdizimi

<?php
class Fruit {
  // code goes here...
}
?>

Aşağıda, $name özelliğini ayarlamak ve almak için iki özellikten ($name ve $color) ve iki set_name() ve get_name() yönteminden oluşan Fruit adında bir sınıf ilan ediyoruz:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Not: Bir sınıfta değişkenlere özellik, işlevlere yöntem adı verilir!


Nesneleri Tanımla

Sınıflar nesneler olmadan bir hiçtir! Bir sınıftan birden çok nesne oluşturabiliriz. Her nesne, sınıfta tanımlanan tüm özelliklere ve yöntemlere sahiptir, ancak farklı özellik değerlerine sahip olacaktır.

Anahtar kelime kullanılarak bir sınıfın nesneleri oluşturulur new.

Aşağıdaki örnekte $apple ve $banana, Fruit sınıfının örnekleridir:

Örnek

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

Aşağıdaki örnekte, $color özelliğini ayarlamak ve almak için Fruit sınıfına iki yöntem daha ekledik:

Örnek

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - $this Anahtar Kelimesi

$this anahtar sözcüğü, geçerli nesneyi ifade eder ve yalnızca yöntemler içinde kullanılabilir.

Aşağıdaki örneğe bakın:

Örnek

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Peki, $name özelliğinin değerini nerede değiştirebiliriz? İki yol var:

1. Sınıfın içinde (bir set_name() yöntemi ekleyerek ve $this kullanarak):

Örnek

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. Sınıfın dışında (doğrudan özellik değerini değiştirerek):

Örnek

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - örnek

instanceofBir nesnenin belirli bir sınıfa ait olup olmadığını kontrol etmek için anahtar kelimeyi kullanabilirsiniz :

Örnek

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>