国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

PHP類(lèi)方法的類(lèi)型提示

_DangJin / 2670人閱讀

摘要:為了解決沒(méi)有強(qiáng)制要求參數(shù)類(lèi)型這個(gè)問(wèn)題,引入了類(lèi)的類(lèi)型提示。要增加一個(gè)方法參數(shù)的類(lèi)型提示,只需簡(jiǎn)單地將類(lèi)名放在需要約束的方法參數(shù)之前。如果要處理基本數(shù)據(jù)類(lèi)型,在方法中可以使用這樣的類(lèi)型檢查函數(shù)。

參數(shù)變量可以是任何基本類(lèi)型的數(shù)據(jù),參數(shù)默認(rèn)情況下也可以是任何類(lèi)型的對(duì)象,在方法定義中可能會(huì)出現(xiàn)一些問(wèn)題。

class ShopProductWriter {
    // 接受ShopProduct對(duì)象的方法
    public function write($shopProduct){
        $str = "{$shopProduct->title}: " . $shopProduct->getProducer() . " ({$shopProduct->price})
";
        print $str;
    }
}

$product1 = new ShopProduct("My Antonia", "Willa", "Cather", 5.99);
$write = new ShopProductWriter();
$write->write($product1); // My Antonia: Willa Cather (5.99)

把參數(shù)變量命名為$shopProduct,說(shuō)明該方法希望接受一個(gè)ShopProduct對(duì)象,但是并沒(méi)有強(qiáng)制要求。也就是說(shuō),可能接受到非預(yù)期的對(duì)象或基本類(lèi)型,但在實(shí)際處理$ShopProduct之前不會(huì)知道具體是什么。
為了解決沒(méi)有強(qiáng)制要求參數(shù)類(lèi)型這個(gè)問(wèn)題,PHP5引入了類(lèi)的類(lèi)型提示(type hint)。要增加一個(gè)方法參數(shù)的類(lèi)型提示,只需簡(jiǎn)單地將類(lèi)名放在需要約束的方法參數(shù)之前。

public function write(ShopProduct $shopProduct) {
    //...
}

現(xiàn)在write()方法只接受包含ShopProduct對(duì)象的$shopProduct參數(shù)。如果給方法傳入其他對(duì)象將會(huì)產(chǎn)生嚴(yán)重錯(cuò)誤。
有了參數(shù)的類(lèi)型提示,就不再需要在使用參數(shù)前對(duì)其進(jìn)行類(lèi)型檢查。類(lèi)型提示是在運(yùn)行時(shí)才生效的,也就是說(shuō),類(lèi)型提示只有在錯(cuò)誤的對(duì)象被傳遞給方法時(shí)才會(huì)報(bào)錯(cuò)。
類(lèi)型提示不能用于強(qiáng)制規(guī)定參數(shù)為某種基本數(shù)據(jù)類(lèi)型,如字符串和整型。如果要處理基本數(shù)據(jù)類(lèi)型,在方法中可以使用is_int()這樣的類(lèi)型檢查函數(shù)。但可以強(qiáng)制規(guī)定使用數(shù)組作為參數(shù):

function setArray(array $storeArray) {
    $this->array = $storeArray;
}

在PHP5.1中加入了對(duì)數(shù)組提示的支持,而后來(lái)的版本還新增了對(duì)null默認(rèn)值得參數(shù)提示,即可以指定參數(shù)為一個(gè)特定類(lèi)型或null值:

function setWriter(ObjectWrite $objWrite=null){
    $this->writer = $objWrite; 
}

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28391.html

相關(guān)文章

  • PHP注釋藝術(shù)——phpDoc規(guī)范

    摘要:特別適合一些動(dòng)態(tài)加載的類(lèi),無(wú)法自動(dòng)提示出來(lái),這時(shí)就可以通過(guò)寫(xiě)標(biāo)記來(lái)告訴我這類(lèi)里有哪些方法格式返回值類(lèi)型名稱(chēng)類(lèi)型參數(shù)描述例如向谷歌提問(wèn),返回答案內(nèi)容包。 用過(guò)IDE或看過(guò)其他源碼的小伙伴們應(yīng)該都見(jiàn)過(guò)類(lèi)似下面這樣的注釋 /** * 遞歸獲取所有游戲分類(lèi) * @param int $id * @return array */ 看得多了就大概知道了一些規(guī)律。為了使自己的代碼更加規(guī)zhu...

    HtmlCssJs 評(píng)論0 收藏0
  • PHP 7.2 新功能介紹

    摘要:這次發(fā)布包含新特性功能,及優(yōu)化,以讓我們寫(xiě)出更好的代碼。安全性改進(jìn)密碼哈希中的是榮獲年密碼哈希算法比賽中的冠軍的強(qiáng)大哈希算法,將其作為安全算法的替代品。是一個(gè)跨平臺(tái)和跨語(yǔ)言的庫(kù),用于加密,解密,簽名,密碼哈希等。中函數(shù)已被取代。 showImg(https://segmentfault.com/img/bV8pyG?w=1240&h=620); PHP 7.2?已經(jīng)在 2017 年 1...

    GeekQiaQia 評(píng)論0 收藏0
  • 又一個(gè)強(qiáng)大PHP5.3依賴(lài)注入容器

    摘要:現(xiàn)在我們就可以在構(gòu)造函數(shù)或者任何其他通過(guò)服務(wù)容器注入依賴(lài)項(xiàng)的地方使用類(lèi)型提示注入接口創(chuàng)建一個(gè)新的類(lèi)實(shí)例,此處將注入的實(shí)例。自動(dòng)解析構(gòu)造函數(shù)所需的依賴(lài)的服務(wù)容器實(shí)現(xiàn)了接口。 簡(jiǎn)單的服務(wù)容器 一個(gè)簡(jiǎn)單的 php 5.3 依賴(lài)注入容器。 項(xiàng)目地址:https://github.com/godruoyi/easy-container Why 目前比較流行的 PHP 容器: Pimple La...

    sf190404 評(píng)論0 收藏0
  • Use PHP7

    摘要:說(shuō)明目前中,計(jì)劃于月日發(fā)布。安全改進(jìn)密碼哈希中的是一個(gè)強(qiáng)大的哈希算法,被選為年密碼哈希大賽的冠軍,將它作為算法的安全替代品。已將設(shè)置為非零值已被標(biāo)記為已棄用。被認(rèn)為是平臺(tái)相關(guān)的,將被棄用。 說(shuō)明 目前RC3中,PHP 7.2計(jì)劃于11月30日發(fā)布。新版本將提供新的特性,功能和改進(jìn),使我們能夠編寫(xiě)更好的代碼。在這篇文章中,我將介紹一些PHP 7.2中最有趣的語(yǔ)言特性。 參數(shù)類(lèi)型聲明 從P...

    yearsj 評(píng)論0 收藏0
  • Restful api 錯(cuò)誤提示返回實(shí)現(xiàn)思路

    摘要:為此,我仿照了淘寶的錯(cuò)誤返回值格式,根據(jù)微博錯(cuò)誤代碼制定的標(biāo)準(zhǔn)自定了自己的錯(cuò)誤代碼,然后在上進(jìn)行測(cè)試。實(shí)現(xiàn)思路我利用抽象工廠模式去實(shí)現(xiàn)這樣的一個(gè)錯(cuò)誤返回值。錯(cuò)誤返回值的格式就在這里定義。 序言 不管是微博還是淘寶,他們都有自己的錯(cuò)誤返回值格式規(guī)范,以及錯(cuò)誤代碼說(shuō)明,這樣不但手機(jī)端用起來(lái)方便,給人的感覺(jué)也清晰明了,高大上。遇到問(wèn)題先找母本,大公司的規(guī)范就是我們參照的母本。為此,我仿照了淘...

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

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

0條評(píng)論

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