function convert($currencyType)
{
$that = $this;
return $result = function() use ($that)
{
if (!in_array($currencyType, $this->ratio))
return false;
return ($this->ratio[$currencyType] * $this->money); //a float number
};
}
$currency = new Currency();
echo $currency->convert('EURO');
Có vấn đề gì?Đối tượng của lớp Đóng cửa không thể được chuyển đổi thành chuỗi trong: tên tệp.
Tôi nhận được thông báo lỗi:
Catchable fatal error: Object of class Closure could not be converted to string
Hàm 'convert()' trả về một hàm. Sau đó, bạn đang cố gắng ép nó vào một chuỗi bằng cách 'echo()' ing nó. – landons
Nhưng đóng cửa trả về một float/false cho $ result? –
Và tham chiếu '$ this' của bạn bên trong Closure phải là' $ that'. Họ có thể đã thay đổi điều đó trong 5.4 suy nghĩ; không chắc. – landons