Использование свойств объекта по умолчанию для метода собственности

я пытаюсь сделать это " (производит неожиданный T_VARIABLE ошибка):

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

я не хочу, чтобы поставить " магическое число", там вес, поскольку объект, который я использую "defaultWeight" параметр, который все новых партий получить, если вы не укажите вес. Я не могу поставить defaultWeight в самой перевозки, потому что он изменяется от отгрузки группы отгрузки группы. Есть ли лучший способ сделать это, чем следующий?

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

Найдено 4 ответа:

Using object property as default for method property

http://stackoverflow.com/questions/1453/using-object-property-as-default-for-method-property

Посмотреть решение →