【发布时间】:2013-04-17 01:53:18
【问题描述】:
有没有办法判断一个方法是否是静态的?
我需要知道的原因: 我在任何实例化上下文之外调用静态方法。那时不能调用非静态方法,因为它们还没有意义。一旦这些类的实例存在,我想稍后再调用它们。
当我调用call_user_function_array($className.'::'.$functionName, $args); 并且该方法是非静态的时,php 似乎会自动创建一个 className 实例并调用该函数。我希望非静态函数调用 FAIL。
【问题讨论】:
-
“php 似乎会自动创建一个 className 实例并调用该函数”——这不是真的。
-
@sectus:那为什么那些调用不会失败?
-
使用 E_STRICT 错误级别。
-
@sectus:仍然没有报告错误。我将尝试将我的代码压缩为一个示例并发布它。
-
"调用非静态方法静态生成 E_STRICT 级别警告。" - Static Keyword
标签: php static-methods