Using object property as default for method property
error-handling, parameters, php
Solution
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();
}
Problem
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(); } } ```