Holas. Los asalto con una duda sobre un codigo que encontre por ahi.
Código:
<?php
class Customer
{
public $name;
private $data = array();
public function __set($dt, $vl)
{
$this->data[$dt] = $vl;
}
public function __get($dt)
{
return $this->data[$dt];
}
}
$c = new Customer;
$c->name = "Sunil"; //El nombre es seteado (set) porque es publico
$c->email = "[email protected]"; // Asignando [email protected] en $email
echo $c->email;
?>
Se entiende con esto que el asunto queda como $data[email]="
[email protected]"
PERO lo que no entiendo es la ultima linea (echo $c->email;) ya que si borro las funciones "magicas" (__set y __get) me sigue funcionando y dando el mail. O sea, entiendo el porque pero con eso no le veo utilidad a __set y __get.
O tambien si hago publico data y pongo echo $c->data["email"] igual veo la variable y el get pierde sentido.
Alguien tiene un ejemplo sobre como usar bien __get y __set que sea entendible ? o este modificado para ver las propiedades de set y get.
Gracias