__construct metodu
__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
-
__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.
-
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"; } } -
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