php 中self,this的區別和實地操作

2022-06-09 08:27:09 字數 1700 閱讀 2238

物件導向程式設計(oop,object orientedprogramming)現已經成為程式設計人員的一項基本技能。利用oop的思想進行php的高階程式設計,對於提高php程式設計能力和規劃web開發構架都是很有意義的。

這裡我主要談的是this,self關鍵字之間的區別。從字面上來理解,分別是指這、自己。先初步解釋一下,this是指向當前物件的指標(可以看成c裡面的指標),self是指向當前類的指標。我們這裡頻繁使用指標來描述

因為經常用框架的緣故,所以對php底層的一些執行機制和方法都不會了,所以最近比較喜歡研究這些底層的東西,寫的東西雖然不是很好,但是自己一步步實地操作過來的,理解起來也比較容易,現在網上大多數的資料要麼就是按照手冊抄過來很官方的一些話,要麼就是那些千篇一律的文章,確實有些不好理解,所以只能自己動手來熟悉啦

一. self

.    1.self可以訪問本類中的靜態屬性和靜態方法,可以訪問父類中的靜態屬性和靜態方法。用self時,可以不用例項化的

[php]view plain

copy

class self_test   

public function tank()  

}  $str = new self_test();  

echo $str->tank();  

頁面輸出:instance

[php]view plain

copy

class self_test   

static public function pentium()  

public function tank()  

}  $str = new self_test();  

echo $str->tank();  

頁面輸出:dell

2.self可以訪問const定義的常量

[php]view plain

copy

class self_test   

}  $str = new self_test();  

echo $str->tank();  

頁面輸出:tancy

二.this

1.this可以呼叫本類中的方法和屬性,也可以呼叫父類中的可以調的方法和屬性,可以說除過靜態和const常量,基本上其他都可以使用this聯絡

[php]view plain

copy

class self_test   

public function tank()  

public function dell()  

public function datesrt()  

}  $str = new self_test();  

echo $str->tank();  

echo "

";  

echo $str->dell();  

echo "

";  

echo $str->datesrt();  

頁面輸出: public

private

protected

一句話,self是引用靜態類的類名,而$this是引用非靜態類的例項名。

php 中self,this的區別和實地操作

物件導向程式設計 oop,object orientedprogramming 現已經成為程式設計人員的一項基本技能。利用oop的思想進行php的高階程式設計,對於提高php程式設計能力和規劃web開發構架都是很有意義的。這裡我主要談的是this,self關鍵字之間的區別。從字面上來理解,分別是指這...

php中 r r n t的區別

url n 軟回車 在windows 中表示換行且回到下一行的最開始位置。相當於mac os 裡的 r 的效果。在linux unix 中只表示換行,但不會回到下一行的開始位置。r 軟空格 在linux unix 中表示返回到當行的最開始位置。在mac os 中表示換行且返回到下一行的最開始位置,相...

php中 r r n t的區別

n 軟回車 在windows 中表示換行且回到下一行的最開始位置。相當於mac os 裡的 r 的效果。在linux unix 中只表示換行,但不會回到下一行的開始位置。t 跳格 移至下一列 它們在雙引號或定界符表示的字串中有效,在單引號表示的字串中無效。r n 一般一起用,用來表示鍵盤上的回車鍵,...