347 of 410 menu

__clone Metodu

__clone metodu, clone operatörü kullanıldığında otomatik olarak çağrılır. Nesne kopyalama için özel mantık tanımlamanıza olanak sağlar. Varsayılan olarak PHP, nesnenin tüm özelliklerini sığ kopyalar. __clone metodu, derin kopyalama yapmanız veya klonlama davranışını değiştirmeniz gerektiğinde kullanışlıdır.

Sözdizimi

public function __clone(): void

Örnek

Temel nesne klonlama işlemi:

<?php class User { public $name; public function __construct($name) { $this->name = $name; } public function __clone() { echo 'Nesne klonlandı'; } } $user1 = new User('John'); $user2 = clone $user1; ?>

Kod çıktısı:

'Nesne klonlandı'

Örnek

İç içe nesnelerle derin kopyalama işlemi:

<?php class Address { public $city; public function __construct($city) { $this->city = $city; } } class User { public $name; public $address; public function __construct($name, $city) { $this->name = $name; $this->address = new Address($city); } public function __clone() { $this->address = clone $this->address; } } $user1 = new User('John', 'New York'); $user2 = clone $user1; $user2->address->city = 'Boston'; echo $user1->address->city; ?>

Kod çıktısı:

'New York'

Örnek

Klonlama sırasında benzersiz kimlik ekleme:

<?php class Product { public $id; public $name; public function __construct($name) { $this->id = uniqid(); $this->name = $name; } public function __clone() { $this->id = uniqid(); } } $product1 = new Product('Laptop'); $product2 = clone $product1; echo $product1->id . ' ' . $product2->id; ?>

Kod çıktısı (örnek):

'5f1a2b3c 5f1a2b3d'

Ayrıca Bakınız

  • __construct metodu,
    nesne yapıcısı olarak kullanılır
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet