私は(このような)varでクラスメソッドを呼び出したいもらう:PHPは静的メソッド
$var = "read";
$params = array(...); //some parameter
if(/* MyClass has the static method $var */)
{
echo MyClass::$var($params);
}
elseif (/* MyClass hat a non-static method $var */)
{
$cl = new MyClass($params);
echo $cl->$var();
}
else throw new Exception();
を私はPHPマニュアルクラスの(get_class_methods)メンバー関数を取得するにはどのようにしてください。しかし、私は静的であるかどうかにかかわらず、情報がないすべてのメンバーを常に得ます。
どのようにしてメソッドのコンテキストを判断できますか?すべての静的関数この意志出力
On Codepad.org: http://codepad.org/VEi5erFw
<?php
class MyClass
{
public function func1(){}
public static function func2(){}
}
$reflection = new ReflectionClass('MyClass');
var_dump($reflection->getMethods(ReflectionMethod::IS_STATIC));
:
は、クラスReflectionClass
を使用してあなたの助け
インスタンス変数から静的メソッドを呼び出すことは、PHPでサポートされていることにも注意してください。 – JRL