以以下函数为例:
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()
返回的任何内容,并仍然能够用字符串值覆盖它呢?
if(is_null($target)) $target = $this->_config->db();
- George Reith