猿问

什么时候使用Self超过$这个?

什么时候使用Self超过$这个?

在PHP 5中,使用self$this?

什么时候合适?


aluckdog
浏览 625回答 3
3回答

qq_花开花谢_0

不使用self::,使用static::自我还有另一个方面:这是值得一提的。烦人self::指在定义点而不是在执行点的范围。..使用两个方法来考虑这个简单的类:class Person{     public static function status()     {         self::getStatus();     }     protected static function getStatus()     {         echo "Person is alive";     }}如果我们打电话Person::status()我们会看到“人还活着”。现在,考虑一下当我们创建一个继承自此的类时会发生什么:class Deceased extends Person{     protected static function getStatus()     {         echo "Person is deceased";     }}呼叫Deceased::status()我们希望看到“Person is Death”,但是我们看到的是“Person是活着的”,因为在调用时,范围包含了原始的方法定义。self::getStatus()被定义了。PHP5.3有一个解决方案。这个static::解析操作符实现“后期静态绑定”,这是一种表示它绑定到被调用类的作用域的奇特方式。换行status()到static::getStatus()结果和你所期望的一样。在较早版本的PHP中,您必须找到一个假象才能做到这一点。看见PHP文档所以要回答这个问题而不是问.。$this->引用当前对象(类的实例),而static::指的是一个类
随时随地看视频慕课网APP
我要回答