這篇文章主要介紹了PHP 中this self static 的區別 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
轉載自:https:/ /blog.csdn.net/mrzhouxiaofei/article/details/78648079
<?phpclass Person { public $name; public function getName() { echo $this->name; } }$p = new Person();$p2 = new Person();$p->name = "小红";$p2->name = "小明";$p->getName(); // 小红$p2->getName(); // 小明
<?phpclass Person { public static $name = "小红"; public static function getName() { echo self::$name; } }$p = new Person();$p2 = new Person();$p::getName(); // 小红$p2::getName(); // 小红$p::$name = "小明";$p::getName(); // 小明$p2::getName(); // 小明
後期靜態綁定 。
<?phpclass A { public function say() { echo "Hello"; } public function saySelf() { self::say(); } public function sayStatic() { static::say(); } }class B extends A { public function say() { echo "World"; } }$b = new B();$b->say(); // World$b->saySelf(); // Hello$b->sayStatic(); // World
後期靜態綁定 。
後期靜態綁定總結this 指向當前對象,用來存取當前對象的非靜態變數和非靜態方法;#self 指向類,一般用來存取目前類別的靜態變數和靜態方法,在執行之前已經確定指向哪個類別;
static 指向類別,一般用來存取目前類別的靜態變數和靜態方法,但又
不限於靜態的調用,運行時才確定指向哪個類別。
PHP 中 self、static、$this 的區別和後期靜態綁定詳解
以上是PHP 中 this self static 的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!