Sto scrivendo una classe in cui ho bisogno di alcune proprietà modificabili "da dentro" ma "da fuori" soltanto visibili. Ho provato ad usare il metodo __get. Per conservare il notice ho provato così:
Codice PHP:
public function __get ($property) {
private $prop1;
private $prop2;
private $prop3;
switch ($property) {
case "prop1": return $this->prop1;
case "prop2": return $this->prop2;
case "prop3": return $this->prop3;
default:
$backtrace = debug_backtrace()[0];
trigger_error("Undefined property: OOString::\$" . $property . " in <b>" . $backtrace["file"] . "</b> on line <b>" . $backtrace["line"] . "</b><br/>", E_USER_NOTICE); // linea 87
}
}
funziona tutto bene, solo che nel notice mi segna anche la riga in cui c'è la funzione trigger_error:
codice:
Notice: Undefined property: OOString::$prop5 in C:\xampp\htdocs\index.php on line 7
in C:\xampp\htdocs\miaclasse.php on line 87
Come posso fare per nasconderla?