【发布时间】:2014-08-29 04:57:46
【问题描述】:
我想知道在类内部调用方法时是否可以访问信息。
示例。
这里我有一个类,带有__classStatic() 方法,可以生成任意方法。
class Caller
{
public function __callStatic($func, $args){
echo "method $func is being called from class ...";
}
}
现在,每当一个方法被调用 ex:Caller::foo() 里面说.. 一个名为 Reader 的类,
class Reader{
Caller::foo();
}
我想要 `foo() 输出。
方法 foo 正在从类 Reader 调用
所以,问题在于获取调用方法的调用名称。
我尝试在 foo() 中使用以下方法获取类名:
get_class()
get_parent_class()
get_called_class()
但是,没有提供任何我正在寻找的信息。
【问题讨论】:
-
@NiettheDarkAbsol 如果
SubCaller扩展Caller怎么办?__CLASS__不正确 -
@CONtext 或一些讨厌的回溯...stackoverflow.com/questions/1214043/…
-
@NiettheDarkAbsol That wont work
-
@CONtext 如果您确实输入了您要输入的内容,它会起作用。
标签: php oop magic-methods static-classes