Tome la siguiente función, por ejemplo:función de PHP por defecto de parámetros
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();
}
}
Como se puede ver me inserta la función $this->_config->db()
en el parámetro $target
ya que es el valor por defecto. Entiendo que esta no es la sintaxis correcta y estoy tratando de explicar mi objetivo.
$this->_config->db()
es una función getter.
Ahora sé que puedo usar una función anónima y llamarla a través de $target
más tarde, pero quiero $target
para aceptar también valores de cadena directa.
¿Cómo podría darle un valor predeterminado de lo que devuelve $this->_config->db()
y aún así poder sobreescribirlo con un valor de cadena?
Esto es lo que usé y el método menos ofensivo proporcionado, gracias. 'if (is_null ($ target)) $ target = $ this -> _ config-> db();' –