Servus.
Ein Klasse in der man viele Eigenschaften änden und auslesen können soll wird normalerweise wie folgt realisiert (vereinfacht dargestellt):
Es ist jedoch auch folgendes möglich (vereinfacht dargestellt):
Die Frage ist jetzt, da dies so funktioniert ob es eine elegantere, oder, wenn das oben falsch ist, eine richtige Variante davon gibt. Und wie man eine Sicherung einbauen kann wenn z.B. $Klasse->set('_eigenschaft'); eingibt, aber in der Klasse keine Eigenschaft _eigenschaft existiert.
Ein Klasse in der man viele Eigenschaften änden und auslesen können soll wird normalerweise wie folgt realisiert (vereinfacht dargestellt):
PHP Code:
class Klasse
{
private $_eigenschaft1 = null;
private $_eigenschaft2 = null;
private $_eigenschaft3 = null;
// [...]
public function setEigenschaft1($var)
{
$this->_eigenschaft1 = $var;
return $this;
}
public function setEigenschaft2($var)
{
$this->_eigenschaft2 = $var;
return $this;
}
// [....]
public function getEigenschaft1()
{
return $this->_eigenschaft1;
}
public function getEigenschaft2()
{
return $this->_eigenschaft2;
}
// [...]
}
$Klasse = new Klasse();
$Klasse->setEigenschaft1('string text 1')
->setEigenschaft2('string text 2');
echo $Klasse->getEigenschaft1();
// Ausgabe:
string text 1
PHP Code:
class Klasse
{
private $_eigenschaft1 = null;
private $_eigenschaft2 = null;
private $_eigenschaft3 = null;
// [...]
/**
* @param1 object $par1 Eigenschaftsobjekt der Klasse
* @param2 string $par2 Wert der Eigenschaft der Klasse
*/
public function set($par1, $par2)
{
$this->$par1 = $par2;
return $this;
}
/**
* @param object $par Eigenschaftsobjekt der Klasse
* @return string
*/
public function get($par)
{
return $this->$var;
}
}
$Klasse = new Klasse();
$Klasse->set('_eigenschaft1', 'string text 1')
->set('_eigenschaft2', 'string text 2');
$Klasse->get('_eigenschaft1');
// Ausgabe
string text 1
Comment