php中this和self的有什么區(qū)別?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
為蘆山等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及蘆山網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站建設、成都做網(wǎng)站、蘆山網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
php中this和self的區(qū)別是:self調(diào)用的是類,而$this調(diào)用的是實例化的對象。self可以訪問本類中的靜態(tài)屬性和靜態(tài)方法,以及const定義的常量,this可以調(diào)用本類中的方法和屬性。
區(qū)別:
self調(diào)用的是類,而$this調(diào)用的則是實例化的對象。
下面我們來詳細說明一下:
1、self可以訪問本類中的靜態(tài)屬性和靜態(tài)方法,可以訪問父類中的靜態(tài)屬性和靜態(tài)方法。用self時,可以不用實例化。
代碼示例:
class self_test { static $instance; public function __construct(){ self::$instance = 'instance';//靜態(tài)屬性只能通過self來訪問 } public function tank(){ return self::$instance;//訪問靜態(tài)屬性 } } $str = new self_test(); echo $str->tank();
結(jié)果輸出:
instance
2、self可以訪問const定義的常量
代碼示例:
class self_test { const NAME = 'tancy'; public function tank(){ return self::NAME; } } $str = new self_test(); echo $str->tank();
三、this可以調(diào)用本類中的方法和屬性,也可以調(diào)用父類中的可以調(diào)用的方法和屬性,除了靜態(tài)屬性和const常量,基本上都可以使用this調(diào)用。
代碼示例:
class self_test { public $public; private $private; protected $protected; public function __construct(){ $this->public = 'public'; $this->private = 'private'; $this->protected = 'protected'; } public function tank(){ return $this->public; } public function dell(){ return $this->private; } public function datesrt(){ return $this->protected; } } $str = new self_test(); echo $str->tank(); echo "</br>"; echo $str->dell(); echo "</br>"; echo $str->datesrt();
結(jié)果:
public private protected
總結(jié):self是引用靜態(tài)類的類名,而$this是引用非靜態(tài)類的實例名。
看完上述內(nèi)容,你們掌握php中this和self的有什么區(qū)別的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章標題:php中this和self的有什么區(qū)別
網(wǎng)站網(wǎng)址:http://chinadenli.net/article28/gigscp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、軟件開發(fā)、網(wǎng)站營銷、企業(yè)建站、靜態(tài)網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)