成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP 類型約束

funnyZhang / 1500人閱讀

摘要:導(dǎo)語(yǔ)所謂類型約束,即定義一個(gè)變量的時(shí)候,必須指定其類型,并且以后該變量也只能存儲(chǔ)該類型數(shù)據(jù)。當(dāng)類型約束為接口時(shí),可以傳入實(shí)現(xiàn)接口的類或。參考資料類型約束標(biāo)量類型聲明。

導(dǎo)語(yǔ)

所謂類型約束,即定義一個(gè)變量的時(shí)候,必須指定其類型,并且以后該變量也只能存儲(chǔ)該類型數(shù)據(jù)。PHP 雖然是弱類型語(yǔ)言,但是在 PHP 5 已經(jīng)支持類型約束,包括對(duì)象、接口、數(shù)組,在 PHP 7 之后支持標(biāo)量類型約束,下面簡(jiǎn)單寫(xiě)幾個(gè)示例。

標(biāo)量類型、數(shù)組

在參數(shù)中指明類型,如果不一致,會(huì)拋出一個(gè)可捕獲的致命錯(cuò)誤


如上所示,標(biāo)量類型也是如此


對(duì)象、接口

類型約束也可以指定為對(duì)象或者接口。首先定義一個(gè) Human 接口,BoyGirl 兩個(gè)類分別實(shí)現(xiàn)接口


接下來(lái)新建一個(gè)類來(lái)測(cè)試

say();
    }

    /**
     * Girl 對(duì)象類型約束
     * @param Girl $girl
     */
    public function girlSay(Girl $girl)
    {
        $girl->say();
    }

    /**
     * Human 接口類型約束
     * @param Human $obj
     */
    public function humanRun(Human $obj)
    {
        $obj->run();
    }
}

$obj = new Action();
$obj->boySay(new Boy());// a boy say
echo "
"; $obj->girlSay(new Girl());// a girl say echo "
"; $obj->humanRun(new Boy());// a boy run echo "
"; $obj->humanRun(new Girl());// a girl run

當(dāng)類型約束為具體對(duì)象 Boy 或者 Girl 時(shí),只能傳入要求的對(duì)象。當(dāng)類型約束為接口 Human 時(shí),可以傳入實(shí)現(xiàn)接口的類 BoyGirl。


參考資料:PHP 5 類型約束、PHP 7 標(biāo)量類型聲明。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31145.html

相關(guān)文章

  • 談?wù)?PHP 中的類型約束

    摘要:但是在以來(lái),在面向?qū)ο笾?,為方法帶?lái)了類型約束,然而這些都非常的雞肋,從文檔上可以看到。支持對(duì)象接口支持?jǐn)?shù)組支持匿名函數(shù)類型約束不能用于標(biāo)量類型如或。它的運(yùn)作方式,是在中設(shè)置一個(gè)標(biāo)志位,讓函數(shù)調(diào)用和返回類型檢查符合類型約束。 起點(diǎn) 眾所周知,PHP 是弱類型語(yǔ)言,與其他強(qiáng)類型語(yǔ)言項(xiàng)目,在這方面會(huì)有很多的坑,但是已經(jīng)發(fā)展到 PHP 7 之后,PHP 也對(duì)類型約束有了所指,并且在許多流行框...

    libxd 評(píng)論0 收藏0
  • 淺談PHP類型約束

    摘要:但是在的高版本語(yǔ)法中起,在某些特定場(chǎng)合,針對(duì)某些特定類型,也是可以進(jìn)行語(yǔ)法約束的。注意在以前,類型約束不能用于標(biāo)量類型如或。這意味著嚴(yán)格聲明標(biāo)量是基于文件可配的。這個(gè)指令不僅影響參數(shù)的類型聲明,也影響到函數(shù)的返回值聲明。 前言 眾所周知,在 強(qiáng)類型 語(yǔ)言中,類型約束 是語(yǔ)法上的要求,即:定義一個(gè)變量的時(shí)候,必須指定其類型,并且以后該變量也只能存儲(chǔ)該類型數(shù)據(jù)。 而我們的PHP是弱類型語(yǔ)言...

    forsigner 評(píng)論0 收藏0
  • Laravel 依賴注入源碼解析

    在 Laravel 的控制器的構(gòu)造方法或者成員方法,都可以通過(guò)類型約束的方式使用依賴注入,如: public function store(Request $request) { //TODO } 這里 $request 參數(shù)就使用了類型約束,Request 是類型約束的類型,它是一個(gè)類:IlluminateHttpRequest. 本文研究 Laravel 的依賴注入原理,為什么這樣定義...

    Donne 評(píng)論0 收藏0
  • 數(shù)據(jù)庫(kù)學(xué)習(xí)線路圖

    摘要:數(shù)據(jù)庫(kù)學(xué)習(xí)線路圖語(yǔ)法教程教程簡(jiǎn)介語(yǔ)法選擇查詢子句與,或,非按關(guān)鍵字排序在表中插入空值更新刪除運(yùn)算符通配符運(yùn)算符運(yùn)算符通用數(shù)據(jù)類型語(yǔ)句快速參考連接內(nèi)部連接左連接右連接完整外部連接自連接運(yùn)算符語(yǔ)句語(yǔ)句撤銷索引表以及數(shù)據(jù)庫(kù)語(yǔ)句語(yǔ)句語(yǔ)句字 數(shù)據(jù)庫(kù)學(xué)習(xí)線路圖 SQL 語(yǔ)法教程 SQL 教程 SQL 簡(jiǎn)介 SQL 語(yǔ)法 SQL Select選擇 SQL SELECT DISTINCT S...

    tinna 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<