Question
I'm trying to do this (which produces an unexpected T_VARIABLE error):
public function createShipment($startZip, $endZip, $weight = $this->getDefaultWeight()){}
I don't want to put a magic number in there for weight, since the object I am using has a "defaultWeight" parameter that all new shipments get if you don't specify a weight. I can't put the defaultWeight in the shipment itself, because it changes from shipment group to shipment group. Is there a better way to do it than the following?
public function createShipment($startZip, $endZip, weight = 0){
if($weight <= 0){
$weight = $this->getDefaultWeight();
}
}
Answer
This isn't much better:
public function createShipment($startZip, $endZip, $weight=null){
$weight = !$weight ? $this->getDefaultWeight() : $weight;
}
// or...
public function createShipment($startZip, $endZip, $weight=null){
if ( !$weight )
$weight = $this->getDefaultWeight();
}
< br > via < a class="StackLink" href=" http://stackoverflow.com/questions/1453/" >Using object property as default for method property< /a>
0 comments:
Post a Comment