国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php中static的說明和用法

2020-03-22 17:51:47
字體:
來源:轉載
供稿:網友
* 細說html' target='_blank'>static

* 一、用途:

* 1.類中聲明靜態成員

* 2.函數中聲明靜態變量

* 3.后期靜態綁定

*

* 二、特點:

* 1.靜態成員屬于類,必須用類訪問

* 2.靜態方法比較特殊,允許用對象訪問,但不推薦

* 3.必須使用范圍解析符::訪問,不允許使用對象訪問符- 訪問

* 4.靜態屬性僅允許使用字面量(字符/數值/數組)或常量進行初始化(禁止表達式/變量/對象)

*

* 三、后期靜態綁定/延遲靜態綁定

* 注:php.net網址上有介紹非常的晦澀難懂,這里做一個簡化說明

* 1. 轉發調用是什么?

* 答:說人話,就是以回調的方式來執行靜態方法,用回調就必須指定調用者或代理函數。

* 調用者可以是self,parent,static

* 代理函數有很多:

* forward_static_call(callable,arg1...)

* forward_static_call_array(callable,array)

* call_user_func(callable,arg1...)

* call_user_func_array(callable,array)

class Demo1  public static function test1() //返回參數:func_get_args(void )返回參數數組 return implode( , , func_get_args()); //后期靜態綁定(最后再創建這個父類方法用來教學) public static function test3() //調用當前類的靜態方法// return self::test1( php , mysql , thinkphp  //使用static,動態判斷是哪個類在調用test1()方法 //類方法的調用者,在聲明時指定,是前期調用,在編譯階段完成 //類方法的調用者,在執行時指定,是后期調用,在運行階段完成 return static::test1( php , mysql , thinkphp class Demo2 extends Demo1  //重寫父類靜態方法 public static function test1() return __METHOD__; public static function test2() //1.傳統調用父類靜態方法 return parent::test1( php   //2.用代理函數調用父類靜態方法 //return forward_static_call([ Demo1 , test1 ], Hello , PHP   //下call_user_func()功能完全一樣 //return call_user_func([ Demo1 , test1 ], Hello , PHP   //調用本類的靜態方法 //return forward_static_call([ Demo2 , test1  //如果第一個參數是一個字符串,是指一個全局函數,不屬于任何類 //return forward_static_call( test3 , m.survivalescaperooms.com 
* 2. Demo2類繼承自Demo1,所以可以用Demo2訪問test3() * 3. test3()中訪問了當前類的test1()方法,當然是Demo1類的test1() * 4. 但是我是用Demo2類調用的test3(),因此我的本意,肯定是想調用Demo2中重載的test1() * 5. 那么,如果能讓當前靜態方法的調用者,根據繼承關系的上下文自動進行判斷呢? * 6. 在靜態方法前使用static關鍵字,這樣就可以自動判斷是哪個類在調用我了~~ * 7. 運行時會自動將static,替換成Demo2類echo hr //思考:在Demo1中調用test3()會輸出什么結果?echo Demo1::test3();

* 1.會輸出Demo1類中的test1()方法的運行結果

* 2.因為當前調用者是Demo1,運行時會自動將static替換成Demo1

以上就是php中static的說明和用法的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焦作市| 三门县| 儋州市| 梅州市| 水城县| 德州市| 集贤县| 五华县| 彭州市| 黎川县| 中卫市| 肃宁县| 辽宁省| 盖州市| 偏关县| 彰化市| 兴义市| 荆门市| 寿阳县| 广宗县| 武隆县| 柘荣县| 油尖旺区| 北流市| 抚松县| 融水| 逊克县| 东光县| 濉溪县| 宁德市| 唐河县| 从化市| 盐亭县| 丹寨县| 醴陵市| 鄂托克前旗| 阿拉善左旗| 台前县| 汤阴县| 潍坊市| 济源市|