28 Stimmen

Objekteigenschaft als Standard für Methodeneigenschaft verwenden

Ich versuche, dies zu tun (was zu einem unerwarteten T_VARIABLE-Fehler führt):

public function createShipment($startZip, $endZip, $weight = 
$this->getDefaultWeight()){}

Ich möchte dort keine magische Zahl für das Gewicht eingeben, da das Objekt, das ich verwende, eine "defaultWeight" Parameter, den alle neuen Sendungen erhalten, wenn Sie kein Gewicht angeben. Ich kann nicht die defaultWeight in der Sendung selbst, da sie sich von Sendungsgruppe zu Sendungsgruppe ändert. Gibt es einen besseren Weg als den folgenden?

public function createShipment($startZip, $endZip, weight = 0){
    if($weight <= 0){
        $weight = $this->getDefaultWeight();
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X