複数のメソッドが同じクラスに存在するかどうかを確認する方法はありますか?
class A{
function method_a(){}
function method_b(){}
}
if ( (int)method_exists(new A(), 'a', 'b') ){
echo "Method a & b exist";
}
そのような機能が存在するとは思わないでください。ただし、 get_class_methodsを試して、クラス メソッドの配列と独自のメソッドを比較できます。たとえば、次のようになります。
$tested_methods = array('a', 'b', 'c');
if (sizeof($tested_methods) == sizeof(array_intersect($tested_methods, get_class_methods("class_name"))))
echo 'Methods', implode(', ', $tested_methods), ' exist in class';
各方法を個別に確認する必要があります。
$a = new A();
if(method_exists($a, 'method_a'))...
if(method_exists($a, 'method_b'))...
1 回の関数呼び出しで複数のメソッドをチェックすることはできません