Функция PHP как параметр по умолчанию

Возьмем для примера следующую функцию:

private function connect($method, $target = $this->_config->db()) {
    try {
        if (!($this->_pointer = @fopen($target, $method)))
            throw new Exception("Unable to connect to database");
    }  catch (Exception $e) {
            echo $e->getMessage();
    }
}

Как видите, я вставил функцию $ this -> _ config-> db () в параметр $ target в качестве значения по умолчанию. Я понимаю, что это неправильный синтаксис, и просто пытаюсь объяснить свою цель.

$ this -> _ config-> db () - функция-получатель.

Теперь я знаю, что могу использовать анонимную функцию и вызывать ее через $ target позже, но я хочу, чтобы $ target также принимал прямые строковые значения.

Как я могу задать ему значение по умолчанию для того, что возвращает $ this -> _ config-> db () , и при этом иметь возможность перезаписать его строковым значением?

5
задан Lightness Races with Monica 5 January 2012 в 16:19
поделиться