Tôi đang cố gắng sử dụng hàm php method_exists, nhưng tôi cần kiểm tra xem phương thức tồn tại trong lớp cha của một đối tượng.method_exists trong lớp cha mẹ php
vậy:
class Parent
{
public function myFunction()
{
/* ... */
}
}
class Child extends Parent
{
/* ... */
}
$myChild = new Child();
if (method_exists($myChild, 'myFunction'))
{
/* ... */
}
if (method_exists(Parent, 'myFunction'))
{
/* ... */
}
if (is_callable(array('Parent', 'myFunction'))
{
/* ... */
}
Nhưng không ai trong số trên đang làm việc. Tôi không chắc phải làm gì tiếp theo.
Cảm ơn bạn đã trợ giúp!
Tôi tin rằng 'is_callable()' yêu cầu một cá thể lớp làm chỉ mục mảng đầu tiên, không phải là tên lớp. I E. 'if (is_callable (mảng ($ myChild, 'myFunction')))' - mặc dù để làm việc này, lớp 'Child' của bạn cần mở rộng' Parent' (như đã đề cập dưới đây). – MrWhite
Bạn có cần biết nếu a) chính xác lớp cha thực hiện phương thức b) bất kỳ tổ tiên nào của một lớp đã cho thực hiện phương thức c) đối tượng của lớp dẫn xuất "có" một phương thức cụ thể d) bạn có thể gọi một phương thức cụ thể một đối tượng? – VolkerK