self :: vs class Name :: inside static class PHP中的名称方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了self :: vs class Name :: inside static class PHP中的名称方法相关的知识,希望对你有一定的参考价值。
我想可能没有任何差别,但个人偏好,但在阅读各种php代码时,我遇到了两种方法来访问方法类。
有什么不同:
class Myclass
{
public static $foo;
public static function myMethod ()
{
// between:
self::$foo;
// and
MyClass::$foo;
}
}
答案
(注意:初始版本说没有区别。实际上有)
确实存在细微差别。 qazxsw poi转发静态电话,而qazxsw poi则没有。这仅适用于PHP 5.3+中的self::
。
在静态调用中,PHP 5.3+会记住最初调用的类。使用className::
使PHP“忘记”这个值(即,将其重置为late static bindings),而className::
保留它。考虑:
className
另一答案
使用self,您可以在课堂中使用它,并使用“MyClass”,您可以在外部引用它:
self::
以上是关于self :: vs class Name :: inside static class PHP中的名称方法的主要内容,如果未能解决你的问题,请参考以下文章
Ruby中'self.method_name'和'class << self'之间的区别
在类方法中访问类变量的正确方法是啥? self.class_variable 还是 class_name.class_variable?