2010-05-27 11 views
10

Me pregunto a qué llamamos este tipo de tarea.¿Cómo lo llamamos?

<?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(); 
?> 

Mejor con referencias o enlaces. ¡Gracias por adelantado!

EDIT: Estoy buscando un término técnico para ello ... bueno, si tenemos.

Respuesta

10

Creo que esto está sobrecargando.

La sobrecarga en PHP proporciona medios para "crear" dinámicamente propiedades y métodos. Estas entidades dinámicas se procesan a través de métodos mágicos que uno puede establecer en una clase para varios tipos de acciones.

Los métodos de sobrecarga se invocan al interactuar con propiedades o métodos que no se han declarado o que no están visibles en el ámbito actual.

PHP Referencia manual here.

+2

La llamada para establecer la propiedad 'var4' del objeto' $ objSc' va a través del método de magia __set() que también puede configurar para hacer otras cosas. –

+0

+1 para citar el manual. – Mizipzor

1

Está configurando una propiedad independiente del objeto $objSc.

2

Es asignar la cadena WTF?! a una variable de ámbito público SimpleClass. Si var_dump ella, que muestra la salida correctamente como:

string(5) "WTF?!" 

Y como @marcdev señalado, se le conoce como sobrecarga.

Cuestiones relacionadas