欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP方法參數(shù)類型約束是什么

這篇文章主要介紹了PHP方法參數(shù)類型約束是什么,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計(jì),五原網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:五原等地區(qū)。五原做網(wǎng)站價(jià)格咨詢:13518219792

關(guān)于PHP的方法參數(shù)類型約束

在之前的文章PHP方法參數(shù)的那點(diǎn)事兒中,我們講過關(guān)于PHP方法參數(shù)的一些小技巧。今天,我們帶來的是更加深入的研究一下PHP中方法的參數(shù)類型。

在PHP5之后,PHP正式引入了方法參數(shù)類型約束。也就是如果指定了方法參數(shù)的類型,那么傳不同類型的參數(shù)將會(huì)導(dǎo)致錯(cuò)誤。在PHP手冊中,方法的類型約束僅限于類、接口、數(shù)組或者callable回調(diào)函數(shù)。如果指定了默認(rèn)值為NULL,那么我們也可以傳遞NULL作為參數(shù)。

class A{}
function testA(A $a){
    var_dump($a);
}

testA(new A());
// testA(1); 
// Fatal error: Uncaught TypeError: Argument 1 passed to testA() must be an instance of A, int given,

在這個(gè)例子中,我們定義了參數(shù)類型為A類,所以當(dāng)我們傳遞一個(gè)標(biāo)量類型時(shí),直接就會(huì)返回錯(cuò)誤信息。

function testB(int $a){
    var_dump($a);
}
testB(1);
testB('52aadfdf'); // 字符串強(qiáng)轉(zhuǎn)為int了
// testB('a');
// Fatal error: Uncaught TypeError: Argument 1 passed to testB() must be of the type int, string given

function testC(string $a){
    var_dump($a);
}
testC('測試');
testC(1);  // 數(shù)字會(huì)強(qiáng)轉(zhuǎn)為字符串
// testC(new A()); 
// Fatal error: Uncaught TypeError: Argument 1 passed to testC() must be of the type string

在手冊中明確說明了標(biāo)量類型是不能使用類型約束的。但其實(shí)是可以使用的,不過如果都是標(biāo)量類型則會(huì)進(jìn)行相互的強(qiáng)制轉(zhuǎn)換,并不能起到很好的約束作用。比如上例中int和string類型進(jìn)行了相互強(qiáng)制轉(zhuǎn)換。指定了非標(biāo)量類型,則會(huì)報(bào)錯(cuò)。此處是本文的重點(diǎn),小伙伴們可要?jiǎng)潅€(gè)線了哦。其實(shí)說白了,如果我們想指定參數(shù)的類型為固定的標(biāo)量類型的話,在參數(shù)中指定并不是一個(gè)好的選擇,最好還是在方法中進(jìn)行再次的類型判斷。而且如果參數(shù)中進(jìn)行了強(qiáng)轉(zhuǎn),也會(huì)導(dǎo)致方法內(nèi)部的判斷產(chǎn)生偏差。

最后我們再看一看接口和匿名方法的類型約束。匿名參數(shù)類型在Laravel等框架中非常常見。

// 接口類型
interface D{}
class childD implements D{}
function testD(D $d){
    var_dump($d);
}
testD(new childD());

// 回調(diào)匿名函數(shù)類型
function testE(Callable $e, string $data){
    $e($data);
}
testE(function($data){
    var_dump($data);
}, '回調(diào)函數(shù)');

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP方法參數(shù)類型約束是什么”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

分享標(biāo)題:PHP方法參數(shù)類型約束是什么
文章位置:http://aaarwkj.com/article48/gpgehp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)移動(dòng)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)全網(wǎng)營銷推廣、定制開發(fā)、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
欧美黄片视频免费观看| 色婷婷亚洲一区二区三区| 日韩视频一区二区三区系列| 国产亚洲日本精品二区| 欧美亚洲av一区二区三区| 怡红院一区二区三区毛片| 日本少妇三级网站大全| 一本久久精品午夜福利| 亚洲成人高清av在线| 欧美日韩亚洲人人夜夜澡| 亚洲精品一品区二品区三| 夜夜高潮夜夜爽免费观看| 亚洲黄色av电影在线| 国产内射一级一片内射高清视频1| 国产精品免费网站在线观看| 最新国产情侣夫妻激情| 亚洲禁看av一区不卡| 国产精品日韩欧美久久久| 亚洲av产在线精品亚洲第| 免费啪啪视频一区二区| 日本一二三四卡久久精品| 亚洲综合精品久久久一区| av资源中文字幕在线天堂| 亚洲午夜精品久久久天堂| 国产三级黄在线观看| 无码精品人妻一区二区三区中| 熟女一区二区三区免费视频| 熟年人妻一区二区三区| 亚洲天堂国产中文在线| 啄木乌欧美一区二区三| 国产成人久久精品二区三区| 日本美女激情在线观看| 国产三级网站在线观看| 久久亚洲中文字幕精品熟女一区| 久久99国产综合精品女同| 亚洲国产欧美日韩在线一区| 欧美成人精品午夜一区二区| 亚洲日本一区二区高清在线| 欧美国产日韩在线一区二区三区| 欧美一级免费黄片在线播放| 国产精品久久久亚洲不卡|