Ich benutze das MVC-Muster in einem CodeIgniter-PHP-Projekt und ich frage mich, was ist der beste Weg, Methoden der Modelle zu erstellen, um die Lesbarkeit des Codes und die Skalierbarkeit zu gewährleisten.PHP-Modelle: Ein oder mehrere Setter durch Datenbankaktion?
Kurz gesagt, ist das besser, dies zu tun? :
public function set_account_state($new_state) {
// UPDATE a database record state to $new_state [0, 1 or 2]
}
Oder das? :
public function reject_account() {
// UPDATE a database record state to 0
}
public function accept_account() {
// UPDATE a database record state to 1
}
public function pending_account() {
// UPDATE a database record state to 2
}
Oder vielleicht ein anderer Weg?
Gibt es auch eine gute Praxis für die Funktionsbenennung in solchen Fällen?
Ich stimme dieser Antwort zu. Die Kontostandsverwaltung ist an einer Stelle, wie es sein sollte. Gültige Werte für "$ state" können von Konstanten bedient werden, wodurch die Lesbarkeit und das Verständnis der Argumentwerte verbessert wird. Das bedeutet nicht, dass Sie keine privaten oder geschützten "Helfer" -Funktionen in der Klasse erstellen können oder sollten, um mit jedem bestimmten Zustand umzugehen. Die öffentliche Schnittstelle sollte jedoch eine einzige Funktion sein. – DFriend