Ne diyorsun?

3 Cevap php

Sanırım atama bu tür ne diyorsunuz merak ediyorum.

<?php
class SimpleClass
{
    public $var1;
    public $var2;
    public $var3;

    public function SimpleClass()
    {
        $this->var1 = 'one';
        $this->var2 = 'two';
        $this->var3 = 'three';
    }
}

function test()
{
    $objSc = new SimpleClass();
    $objSc->var4 = 'WTF?!'; # <-- what do we call this?
    var_dump($objSc);
}

test();
?>

Referansları veya bağlantıları ile daha iyi. Şimdiden teşekkürler!

EDIT: Ben bunun için teknik bir terim arıyorum ... Evet, varsa.

3 Cevap

Ben bu aşırı yükleme inanıyorum.

PHP Aşırı yükleme dinamik özellikleri ve yöntemleri "yaratmak" için bir araç sağlar. Bu dinamik öğeler, çeşitli eylem türleri için sınıf içinde oluşturulabilen sihirli yöntemlerle işlenir.

The overloading methods are invoked when interacting with properties or methods that have not been declared or are not visible in the current scope.

PHP Manual referans here.

Bu, bir assigning string WTF?!, genel bir kapsam değişkene SimpleClass. : Eğer var_dump o, doğru olarak çıkış gösteriyorsa

string(5) "WTF?!"

@ Marcdev de belirttiği gibi, bu overloading olarak bilinir.

Sen $objSc nesnesinin bağımsız bir özellik ayarı vardır.