CodeBlanks Logo Icon CodeBlanks

__construct metodu

PHP kursu · Orta seviye · Ders 7/115

__construct sihirli metoduyla sınıf örneklenirken kod çalıştırmayı öğrenirsin.

__construct nedir?

Bir sınıftan örnek (instance) oluşturulurken otomatik çalışan özel metoda yapıcı (constructor) denir. PHP'de yapıcının adı sabittir: __construct. Çift alt çizgiyle başladığı için PHP bunu bir sihirli metod (magic method) olarak tanır.

Yapıcıyı public function __construct() biçiminde tanımlarsın. new ClassName() yazdığın anda PHP önce nesneyi oluşturur, sonra __construct metodunu çağırır. Böylece örnek henüz kullanılmaya başlamadan gerekli hazırlıkları yapabilirsin.

Yapıcıdan return ile değer döndürmek beklenmez; amacı nesneyi kullanıma hazır hale getirmektir.

Yapıcı metod sözdizimi

Yapıcı metod, sınıfın içine normal bir method gibi yazılır. Tek farkı adının __construct olmasıdır. Genel biçim şöyledir:

class User {
    public function __construct() {
        // kurulum kodu
    }
}

İçeriye örnek oluşturulduğunda çalışmasını istediğin kodu yazarsın; örneğin bir hoş geldin mesajı yazdırmak veya bir dosyayı açmak. Methodun adını değiştiremezsin; __construct dışında bir isim seçersen PHP bunu sıradan bir method sanar ve new sırasında çağırmaz.

Yapıcıya erişim seviyesi çoğunlukla public olur; böylece sınıf dışından new ile örnek oluşturulabilir.

Uygulama User sınıfına yapıcı ekle

User adında bir sınıf tanımla. Sınıfın içinde __construct metodu olsun ve new User() çağrıldığında ekrana User oluşturuldu yazsın; satır sonuna \n koy. Sınıfın altında $user = new User(); satırıyla bir örnek oluştur. Çıktı tek satır olmalı.

Örnek çözümü göster
Yapıcıyı public function __construct() biçiminde yaz. Gövdeye echo "User oluşturuldu\n"; ekle. Sınıfın dışında $user = new User(); çağrısı yap.
Örnek çözüm:
<?php
// User sınıfını tanımla ve yapıcı metodu ekle
class User {
    public function __construct() {
        echo "User oluşturuldu\n";
    }
}
$user = new User();

Kendini test et

  1. __construct ne zaman çalışır?

    • Sınıf tanımlandığında, new yazmadan önce
    • new ile örnek oluşturulduğunda, otomatik
    • Sınıfın methodlarından biri çağrıldığında
    • Program bittiğinde, örnek yok edilirken
    Cevabı göster

    new ile örnek oluşturulduğunda, otomatik — Doğru. __construct, new ile örnek oluşturulduğu anda PHP tarafından otomatik çağrılır.

  2. Yapıcı metodun adını tamamla

    class Logger {
        public function ____() {
            echo "Logger hazır\n";
        }
    }
    Cevabı göster
    class Logger {
        public function __construct() {
            echo "Logger hazır\n";
        }
    }
  3. Kavramları eşle

    __construct
    yapıcı metod adı
    new
    örnek oluşturma operatörü
    public
    varsayılan erişim seviyesi
    magic method
    sihirli metod kategorisi

Orta seviye bölümündeki tüm dersler