Citat:
Ursprungligen postat av ConnyWesth
Jag har aldrig sett något annat sråk som tillåter odefinierade egenskaper i en klass.
|
Det är därför funktionerna __get/__set kallas för magiska

Och magi är just oftast sådant vi vill undvika såvida det inte finns en annan lösning.
Du behöver ju faktiskt inte använda dem och de har ett par nackdelar så som:
- De är långsammare än direkt access eller access via en vanlig funktion
- Det är svårare att skriva bra dokumentation för dem
Den klassiska metoden är att skriva get/set metoder för varje värde du vill exponera och även den metoden jag rekommenderar även om det blir mer knackande på tangentbordet.
Kod:
class Person
{
private $firstname;
public function getFirstname()
{
return $this->firstname;
}
public function setFirstname($firstname)
{
$this->firstname = $firstname;
}
}