Ich versuche, eine Klasse zu verwenden, die das Gehalt und die Anzahl der Menschen mit einem Gehalt bestimmen, OOP ist neu für mich, und ich habe viele Tutorials und Beispiele, aber ich bin nicht sicher, ob ich am besten Praktiken in der folgenden bin mit:PHP OOP besten Praktiken der Angabe der Eigenschaft angepasst werden
class quickCalc
{
private $salary = 0;
private $person = 0;
private $person_salary = 0;
private animal = 0;
private animal_salary = 0;
public function addCost($type, $salary)
{
$this->$type++;
$type_two = $type.'_salary';
$this->$type_two += $salary;
}
public function getCount($type)
{
return $this->$type;
}
public function getCost($type)
{
$type = $type.'_salary';
return $this->$type;
}
}
$test = new quickCalc();
$test->addCost('person', 15000);
echo $test->getCount('person'); //1
echo $test->getCost('person'); //10000
echo $test->getCount('animal'); //0
so wie man sehen kann, wie ich eine Person hinzufügen oder Tier, usw., die damit verbundenen Eigenschaft erhöht sich um 1, und die Gehaltswert zu dem vorhandenen Wert hinzugefügt
Was ich nicht sicher bin, ist, wenn es Best Practice ist, den Namen der Eigenschaft durch das Objekt zu übergeben, wie gezeigt:
public function addCost($type, $salary)
{
$this->$type++;
}
oder sollte jede Eigenschaft haben, seine eigene Funktion, wie folgt aus:
public function addPerson($salary)
{
$this->person++;
$this->person_salary++;
}
Diese Frage scheint besser geeignet für http://codereview.stackexchange.com – JimL
Sie könnten alternativ noch immer _call_ die gleiche Methode, aber verwenden Sie einen 'Schalter 'Anweisung innerhalb und dann die zugehörige Methode für diesen Typ ausführen. – Brett