Hãy hàm sau ví dụ:PHP chức năng như thông số mặc định
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();
}
}
Như bạn có thể thấy tôi chèn chức năng $this->_config->db()
vào tham số $target
vì nó là giá trị mặc định. Tôi hiểu đây không phải là cú pháp chính xác và tôi chỉ đang cố gắng giải thích mục tiêu của mình.
$this->_config->db()
là hàm getter.
Bây giờ tôi biết tôi có thể sử dụng chức năng ẩn danh và gọi nó qua $target
sau, nhưng tôi muốn $target
cũng chấp nhận giá trị chuỗi trực tiếp.
Làm cách nào tôi có thể đặt giá trị mặc định cho bất kỳ giá trị nào được trả về bởi $this->_config->db()
và vẫn có thể ghi đè lên bằng giá trị chuỗi?
Đây là những gì tôi đã sử dụng và phương pháp ít gây khó chịu nhất, cảm ơn. 'if (is_null ($ target)) $ target = $ this -> _ config-> db();' –