日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP new self什么,php new self()是什么意思

發布時間:2025/3/15 php 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP new self什么,php new self()是什么意思 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php里new self() 一般在類內部使用,作用是對自身類實例化,搞不明白干嘛要弄這么個方法,弄個實例加深下大家對這個東東的理解

class test{

public function __construct(){

echo 'hello';

}

public function test2(){

new self();

}

}

test::test2();

這個實例會輸出hello

后邊發現還有個new static()方法,那這個跟new self()有什么區別呢,看代碼說話:

class fa {

public function getfa1() {

return new self();

}

public function getfa2() {

return new static();

}

}

$f = new fa();

print get_class($f->getfa1());

echo '

';

print get_class($f->getfa2());

get_class()方法是用於獲取實例所屬的類名

輸出:

fa

fa兩個輸出都一樣,感覺沒啥區別呀,后邊突發奇想繼承下再看看

class er1 extends fa {

}

class er2 extends fa {

}

$er1 = new er1();

$er2 = new er2();

print get_class($er1->getfa1());

echo '
';

print get_class($er1->getfa2());

echo '
';

print get_class($er2->getfa1());

echo '
';

print get_class($er2->getfa2());

輸出:

fa

er1

fa

er2

現在輸出不一樣了,明白new self()與new static()的區別了,只有在繼承中才能體現出來,如果沒有任何繼承,那么這兩者是沒有區別的,在繼承中new self()返回的實例是自己所在的那個類,不管誰調用都是不變的,new static()是由調用者決定的

總結

以上是生活随笔為你收集整理的PHP new self什么,php new self()是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。