Tôi gặp sự cố khi gọi phương thức lớp từ một chuỗi trong PHP. Đây là một ví dụ đơn giản. Khi tôi làm việc này, tôi sẽ sử dụng một biến làm tên phương thức.Gọi phương thức lớp php từ chuỗi với tham số
Đây là cách tôi muốn được gọi là phương pháp thông thường:
$tags_array = $this->get_tags_for_image($row["id"]);
Đây là cách tôi đang cố gắng nhưng nhận được một lỗi:
$tags_array = call_user_func('get_images_for_tag', $row["id"]);
tôi phải mất một phạm vi nhưng tôi có thể' t tìm ra cách gọi phương thức.
---- EDIT đặn ra rằng đây gọi là phương pháp nhưng $ row là undefined bây giờ tôi tin
$tags_array = call_user_func(array($this, 'get_images_for_tag'), $row["id"]);
Full khối mã:
$images = call_user_func(array($this, 'get_images_for_tag'), $filter);
foreach ($images as $row){
$tags_array = call_user_func(array($this, 'get_images_for_tag'), $row["id"]);
foreach ($tags_array as $tag_row){
$tags_array[] = $tag_row["tag"];
}
$image_array []= array (
'url' => $this->gallery_path_url . '/'. $row["name"],
'thumb_url' => $this->gallery_path_url . '/thumbs/' . 't_'. $row["name"],
'id' => $row["id"],
'description' => $row["description"],
//'url' => $row["url"],
'tags' => $tags_array
);
}