PHP的new static和new self的區(qū)別與使用
下面我們舉個栗子:
class Father { public static function getSelf() { return new self(); } public static function getStatic() { return new static(); } } class Son extends Father {} echo get_class(Son::getSelf()); // Father echo get_class(Son::getStatic()); // Son echo get_class(Father::getSelf()); // Father echo get_class(Father::getStatic()); // Father
new self
這里面注意這一行 get_class(Son::getStatic()); 返回的是 Son 這個 class, 可以總結如下:
self 返回的是 new self 中關鍵字 new 所在的類中,比如這里例子的 :
public static function getSelf() { return new self(); // new 關鍵字在 Father 這里 }
始終返回 Father。
new static
static 則上面的基礎上,更聰明一點點:static 會返回執(zhí)行 new static() 的類,比如 Son 執(zhí)行 get_class(Son::getStatic()) 返回的是 Son, Father 執(zhí)行 get_class(Father::getStatic()) 返回的是 Father
而在沒有繼承的情況下,可以認為 new self 和 new static 是返回相同的結果。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
上一篇:Laravel框架Eloquent ORM刪除數據操作示例
欄 目:PHP編程
下一篇:Laravel框架基礎語法與知識點整理【模板變量、輸出、include引入子視圖等】
本文標題:PHP的new static和new self的區(qū)別與使用
本文地址:http://mengdiqiu.com.cn/a1/PHPbiancheng/11075.html
您可能感興趣的文章
- 04-02關于txt數據庫php的信息
- 04-02php本站才可以請求數據 php本地數據庫
- 04-02網頁里php操作數據庫 php網頁例子
- 04-02php打印請求數據 php打印輸出結果
- 04-02php數據庫地址 phpstudy 數據庫
- 04-02php插入數據庫為亂碼 php連接數據庫亂碼
- 04-02php數據庫數據相加 php數據庫添加數據語句
- 04-02php數據庫輸入變量 php里輸出數據庫數據函數
- 04-02數據權限架構思路php 數據權限設計方案
- 04-02php如何用導入數據 php用來導入其他文件的語句


閱讀排行
本欄相關
- 04-02php本站才可以請求數據 php本地數據庫
- 04-02關于txt數據庫php的信息
- 04-02php打印請求數據 php打印輸出結果
- 04-02網頁里php操作數據庫 php網頁例子
- 04-02php插入數據庫為亂碼 php連接數據庫亂
- 04-02php數據庫地址 phpstudy 數據庫
- 04-02php數據庫數據相加 php數據庫添加數據
- 04-02數據權限架構思路php 數據權限設計方
- 04-02php數據庫輸入變量 php里輸出數據庫數
- 04-02php如何用導入數據 php用來導入其他文
隨機閱讀
- 01-11ajax實現頁面的局部加載
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實例總結
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文