tôi có phương pháp dưới đây trong một lớp singletonLàm thế nào để sử dụng một phương pháp đối tượng như một hàm callback
private function encode($inp)
{
if (is_array($inp) {
return array_map('$this->encode', $inp);
} else if is_scalar($inp) {
return str_replace('%7E', rawurlencode($inp));
} else {
return '';
}
}
này hoạt động tốt như một chức năng bình thường
function encode($inp)
{
if (is_array($inp) {
return array_map('encode', $inp);
} else if is_scalar($inp) {
return str_replace('%7E', rawurlencode($inp));
} else {
return '';
}
}
khi sử dụng bên trong một lớp học i' m nhận được lỗi dưới đây:
PHP Warning: array_map(): The first argument, '$this->rfc_encode', should be either NULL or a valid callback
Ai cũng có thể giúp tôi khắc phục vấn đề này.
Cảm ơn bạn thân, nó đã hoạt động. – Kaartz
Ngoài ra, phương thức 'mã hóa' phải là [công khai] (http://php.net/manual/en/language.oop5.visibility.php). – Dejv
@Dejv Trên thực tế, tôi đã thử nghiệm nó với một ** phương pháp lớp riêng ** và nó hoạt động hoặc. Tôi đang sử dụng PHP 7.0.13. – sentenza