Могу ли я настроить аргумент метода по умолчанию со свойством класса в PHP?

Я использую PHP 5.2.6. Я хочу иметь значение по умолчанию для аргумента в методе, но мне кажется, что я слишком умен.

Свойство класса blnOverwrite установлено по умолчанию и может быть установлено в другом месте класса. У меня есть метод, в котором я хочу снова настроить его, но не переопределять существующее значение. Я получаю сообщение об ошибке при следующей попытке:

public function place( $path, $overwrite = $this->blnOverwrite ) { ... }

Должен ли я сделать что-то подобное?

public function place( $path, $overwrite = NULL ) { 
    if ( ! is_null($overwrite) ) {
        $this->blnOverwrite = $overwrite;
    }
    ...
}
15
задан halfer 3 March 2017 в 11:44
поделиться