PHP new self()和new static()的區別
new static()是php5.3以後引入新的特性,延遲靜態繫結.訪問的是當前例項化的那個類,那麼 static 代表的就是那個類。
new self() 是指的不是呼叫上下文,它指的是解析上下文.
class Test {
public static funtion getSelf(){
return new self();
}
public static funtion getStatic(){
return new static();
}
}
class Test1 extends Test {
}
echo get_class(Test1 ::getSelf); 輸出:Test
echo get_class(Test1 ::getStatic);輸出:Test1
echo get_class(Test ::getStatic);輸出:Test
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2810142/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP 的 new static 和 new self 具體有什麼?PHP
- new self()與new static()
- new static ,new self ,self::, $this的一些理解
- PHP 中 bind 的用法 self 和 static 的區別PHP
- JavaScript中的new map()和new set()使用詳細(new map()和new set()的區別)JavaScript
- self::class和static::class的區別
- Golang make和new的區別Golang
- new 和 malloc 的區別 及使用
- PHP static 關鍵字和 self 關鍵字例項化的區別PHP
- Python __new__ 和 __init__ 的區別Python
- __new()__ 與 __init()__的區別
- 簡單易懂 —— this、self、static 的區別
- &self 和 self 的區別
- 細說new和malloc的十大區別
- String s = “hello“和String s = new String(“hello“)的區別
- Go 語言 new 和 make 關鍵字的區別Go
- 關於PHP this 和 self 呼叫類方法的區別PHP
- Python中__new__和__init__的區別與聯絡Python
- 【學習筆記】make 和 new 關鍵字的區別筆記
- Python面試之理解__new__和__init__的區別Python面試
- Golang make和new的區別及實現原理詳解Golang
- 構造器引用和直接用new建立物件區別物件
- 理解new和實現一個new
- Go 中 make 與 new 的區別是什麼?Go
- static 和extern的區別
- go語言中make和new有什麼作用以及區別?Go
- const、define 和 static 的區別
- php物件導向知識 this,self,parent的區別PHP物件
- 面試官:Golang 的 new 與make 區別是什麼?面試Golang
- New
- Python語言中__init__與__new__的區別是什麼?Python
- pecl PHP Parse error: syntax error, unexpected 'new' (T_NEW) 以及 XML缺失解決辦法PHPErrorXML
- 一句話說明白C#中的new與override的區別C#IDE
- new learn
- a new ideaIdea
- a new blog
- in place new
- How to Add a New Disk new partition in centos7CentOS