PHP中的常用关键字
PHP中常用的關(guān)鍵字:final 、static、const。。。。
final :
1、final不能修飾成員屬性
2、final只能修飾類和方法
?
final作用:
1、使用final修飾的類不能被子類繼續(xù)
2、使用final修飾的方法不能被子類去覆蓋
3、用來限制類不被繼承,方法不被覆蓋就使用final
?
static:
1、使用static可以修飾成員的屬性和成員的方法,不能修飾類
2、使用static修飾的成員屬性,可以被同一個類的所有對象共享
3、靜態(tài)的數(shù)據(jù)是存在內(nèi)存中的 數(shù)據(jù)段 中(初始化靜態(tài)段)
4、靜態(tài)的數(shù)據(jù)是在類么一次加載時,分配到內(nèi)存中的,以后再用到類時就直接從數(shù)據(jù)段中獲取
5、什么是類被加載?只要在程序中使用到這個類(有這個類名出現(xiàn))
6、靜態(tài)方法(static修飾的方法),不能訪問非靜態(tài)的成員(在非靜態(tài)的方法中,可以訪問靜態(tài)成員),因為非靜態(tài)的成員,就必須用對象來訪問,訪問內(nèi)部的成員使用的就是$this,靜態(tài)方法 不用使用對象來調(diào)用,也就沒有對象,$this也就不能代表什么對象,非靜態(tài)的成員還必須使用對象,如果你確定一個方法不使用非靜態(tài)的成員,則可以將這個方法聲明為 靜態(tài)方法(不用創(chuàng)建對象,直接使用類名就可以訪問)
?
靜態(tài)成員:類名::成員 ? ,在內(nèi)部訪問其它成員:self::成員
?
Ps:靜態(tài)的成員都要使用類名去訪問,不用創(chuàng)建對象 (類名::靜態(tài)成員),如果在類中使用靜態(tài)成員,可以使用self::靜態(tài)成員
?
const:
1、它只能修飾成員屬性
2、類名中聲明常量屬性使用const
3、類名的方式和我們以前學習的define是一樣的效果
4、訪問方式個static靜態(tài)成員屬性是一樣的(在類外部使用:類名::常量 ?,在類內(nèi)部使用: self::常量)
5、常量一定要在聲明時給初值
?
PHP中常用的魔術(shù)方法:
__call():
作用:1、在調(diào)用對象中不存在的方法時,就會出現(xiàn)系統(tǒng)報錯,然后程序退出
聲明時候自動調(diào)用:就是在調(diào)用一個對象中不存在的方法時自動調(diào)用(處理一些不存在的方法的錯誤調(diào)用,需要兩個參數(shù),具體的看api)
?
__toString():
直接輸出對象引用時知道調(diào)用,用來快速獲取大兄弟 字符串表示的最便捷的方式
?
__clone():
克隆對象:就是在克隆對象時自動調(diào)用,只要一個對象一誕生,就要有初始化的動作,和構(gòu)造方法__construct作用相似,__clone()中的$this代表的是被克隆常量的那個對象,$that代表原本對象
?
__autoload():
Ps:其它的魔術(shù)方法都是在類中添加起作用,這是一個唯一一個不在類中添加方法的,只要在頁面中使用掉一個類,只要用到這個類名,就會自動將類名傳給這個參數(shù)
?
__sleep(): ? __wakeup(): 詳細的看api
?
轉(zhuǎn)載于:https://www.cnblogs.com/leo666/p/5699542.html
總結(jié)
以上是生活随笔為你收集整理的PHP中的常用关键字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序模板订阅消息推送
- 下一篇: php杂项