Ich versuche, die magischen Methoden __GET und __SET zu lernen. Im Moment arbeite ich an der __GET-Methode.
Und ich bekomme den Fehler kann nicht auf private Eigenschaft zugreifen.
Hier ist mein Code:
<?php
class getset {
private $name;
public function __set($property, $value) {
if((property_exists($this, $property))) {
$this->$property = $value;
echo "Successfully updated {$property} to {$value}";
} else {
echo "This failed.";
}
}
}
getset::$name = 'Thomas';
?>
Ich bin nicht sicher, was los ist. Ich habe mir die Parameter in einer __SET-Funktion angeschaut und ich glaube, ich befolge sie richtig.
Ich bin mir nicht sicher, was passiert. Hier ist mein vollständiger Code:
Fatal error: Uncaught Error: Undefined class constant 'name' in C:\xampp\htdocs\OOP Lessons\Classes\getset.inc.php:22 Stack trace: #0 {main} thrown in C:\xampp\htdocs\OOP Lessons\Classes\getset.inc.php on line 22
Diese Linie ist:
getset::$name = 'Thomas';
Wo Ordnen Sie den Wert $ name zu? –
Private Eigenschaft kann nicht außerhalb der Klasse zugegriffen werden, so dass es private genannt –
@PraveenM Sorry, meine getset Codezeile sollte 'getset :: $ name = 'Thomas';' Ich habe es bearbeitet. –