在PHP的扩展类中重新定义方法时返回正确的类名
我期望第一个示例代码产生与第二个相同的结果,但它没有。因此,为了获得正确的类名,我必须在扩展类中重新定义自定义msg方法 我想知道为什么第一个不产生扩展类名,以及为什么在重新定义完全相同的方法时会产生扩展类名 例1 输出 获取类:MyClass 例2 输出 获取类:MyClass\u Mod 我想知道它的机制,所以请不要建议使用get_称为_类。我无法将其用于PHP5.3以下的版本。谢谢您的输入。您只需将$this参数传递给函数即可在PHP的扩展类中重新定义方法时返回正确的类名,php,oop,class,object,syntax,Php,Oop,Class,Object,Syntax,我期望第一个示例代码产生与第二个相同的结果,但它没有。因此,为了获得正确的类名,我必须在扩展类中重新定义自定义msg方法 我想知道为什么第一个不产生扩展类名,以及为什么在重新定义完全相同的方法时会产生扩展类名 例1 输出 获取类:MyClass 例2 输出 获取类:MyClass\u Mod 我想知道它的机制,所以请不要建议使用get_称为_类。我无法将其用于PHP5.3以下的版本。谢谢您的输入。您只需将$this参数传递给函数即可 get_class($this); 您只需将$this参数传
get_class($this);
您只需将$this参数传递给函数
get_class($this);
如果在类中省略get_类的参数,则返回该类的名称
您需要使用$this指定参数。如果在类中省略get_类的参数,则返回该类的名称
您需要使用$this指定参数。@Teno:最好阅读您在代码中调用的函数的文档。@Jon我这样做了,实际上它说在类中可以忽略此参数。所以我希望它可以省略。@Teno:也可以阅读返回值部分:@Jon我不明白这意味着什么:返回对象是实例的类的名称。如果对象不是对象,则返回FALSE。如果在类中省略对象,则返回该类的名称。我希望该类的名称是指扩展类。@Teno它基本上是指定义该函数的类。在您的情况下,它是父类MyClass@Teno:阅读您在代码中调用的函数的文档是个好主意。@Jon我读了,实际上它说在类中可以省略此参数。所以我希望它可以省略。@Teno:也可以阅读返回值部分:@Jon我不明白这意味着什么:返回对象是实例的类的名称。如果对象不是对象,则返回FALSE。如果在类中省略对象,则返回该类的名称。我希望该类的名称是指扩展类。@Teno它基本上是指定义该函数的类。在您的例子中,它是父类MyClassName该类的名称是否表示原始类?@Teno它表示定义该函数的类。在你的情况下,是父母class@Rezigned哦,真的。这很让人困惑。那个类的名称是指原始类吗?@Teno它指的是定义该函数的类。在你的情况下,是父母class@Rezigned哦,真的。这很令人困惑。
get_class($this);