這篇文章給大家分享的是有關(guān)php中資源類型變量指的是什么的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為商洛等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及商洛網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站制作、商洛網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1、概念
資源類型變量是PHP中最復(fù)雜的變量,也是復(fù)合型結(jié)構(gòu)。PHP的zval可以表示廣泛的數(shù)據(jù)類型,但是很難充分說明自定義的數(shù)據(jù)類型。由于這些復(fù)合結(jié)構(gòu)沒有有效的描繪,也沒有辦法使用傳統(tǒng)的操作符號。為了解決這個問題,本質(zhì)上只需要任意的標(biāo)志引用指針,這種方法被稱為資源。
2、使用說明
(1)注冊:關(guān)于定制的數(shù)據(jù)類型,我想把它作為資源。首先需要注冊,zend分配全球唯一的標(biāo)志。
(2)獲得資源變量:對于資源,zend維持了id->實際數(shù)據(jù)的hash_tale。關(guān)于resource,zval只記錄了id。fetch時,通過id在hash_table中找到具體值返回。
(3)資源銷毀:資源的數(shù)據(jù)類型多種多樣。Zend本身沒有辦法銷毀它。因此,用戶需要在注冊資源時提供銷毀函數(shù)。unset資源時,zend調(diào)用相應(yīng)的函數(shù)完成分析結(jié)構(gòu)。同時從全局資源表中刪除。
(4)資源可以長期停留,不僅在所有引用的變量超過作用域后,還在一個請求結(jié)束后產(chǎn)生新的請求。這些資源被稱為持久資源。除非特意銷毀,否則它們將繼續(xù)存在SAPI的整個生命周期。在許多情況下,持久資源可以在一定程度上提高性能。例如,我們常見的MySQL_pconnect,持續(xù)資源通過pemalloc分配內(nèi)存,請求結(jié)束時不會被釋放。對于zend來說,兩者本身是沒有區(qū)別的。
感謝各位的閱讀!關(guān)于“php中資源類型變量指的是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!