dqhnp44220
2014-10-16 14:59
浏览 251
已采纳

PHP按类名调用类的静态方法

This is a syntax question I think... I have an array of classnames, that I use in a factory to generate objects by object type code:

$array = ['a' => '
amespace\AClass', 'b' => '
amespace\BClass'];

I can instantiate these classes from the string name just fine:

$classname = $array['a'];
return new $classname($arg1, $arg2);

What I am trying to do is call a static method of the class named in the array or string, without having to initialize the object - something like:

$classname = $array['a'];
return $classname::formatArg($arg1);

Obviously, this doesn't work since $classname is a string, so how do I tell PHP I am trying to access the object with that name?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题