撕开奶罩疯狂揉吮奶头_天堂69堂在线精品视频软件_亚洲中文av一区二区三区_成人无码A片一区二区三区免费看_日韩欧美亚_天天干天天操

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 網站建設

PHP魔術方法詳解

PHP下魔術方法總結

__construct>>

構造函數: PHP中的構造函數要求無法執行構造函數的重載,即只有一個構造函數。

函數__construct($ name='宋',$ sex='',$ age=1){//當對象誕生時,構造函數將初始值賦給成員屬性$ this-> name=$ name; $ this-> sex=$ sex; $ this-> age=$ age;}描述:1。在一個類中,它只能有一個構造函數。 2.默認構造函數是public,如果是private,則會形成單例模式。

1422611606130054.gif__set方法來設置

__set()方法:此方法用于設置私有成員屬性的值,有兩個參數,第一個參數是要設置值的屬性名,第二個參數是要為屬性設置的值,沒有回報價值。此方法也不需要手動調用。它也可以是私人的。直接設置私有屬性值時會自動調用它。相同的屬性已經封裝。如果沒有__set()方法,不允許,例如:$ this-> name='zhangsan',這將導致錯誤,但如果您將__set($ property_name,$ value)方法添加到類中,將值直接分配給私有屬性時將自動調用它,將name等屬性傳遞給$ property_name,將值“zhangsan”傳遞給$ value,然后執行賦值以達到賦值的目的。如果成員屬性未封裝為私有,則對象本身不會自動調用此方法。為了不傳遞非法值,您也可以使用此方法進行判斷。例如,實例:

1422611606130054.gif對應的私有$ name實例; //第一個成員屬性$ name定義了人的名字,這個屬性是封裝私有的$ sex; //第二個成員屬性$ sex定義了人的性別,這個屬性是封裝私有的$ age; //第三個成員屬性$ age定義了人的年齡,這個屬性是封裝的

//聲明magic方法需要兩個參數,它在分配私有屬性時自動調用,并且可以屏蔽一些非法賦值私有函數__set($ propertyName,$ propertyValue){if($ propertyName=='sex'){//如果第一個參數是屬性名稱sex那么條件為真//對于非法數據處理if(!($ propertyValue=='male'|| $ propertyValue=='female'))//第二個參數只能是男性或女性回歸; //如果非法參數返回null,則執行該方法} if($ propertyName=='age'){//如果第一個參數是屬性名稱age,則建立條件if($ propertyValue> 150 | | $ propertyValue< 0)//第二個參數只能是0到150之間的整數返回值; //如果非法參數返回null,則執行方法} ?//對于不需要進行驗證的數據,根據參數決定為那個屬性被賦值,傳入不同的成員屬性名,賦上傳入的相應的值,定義賦值的方式.$ this-> $ propertyName=$ propertyValue;}如調用時:$ person1=new Person('Zhang San','Men', 20); //自動調用__set()函數將屬性名稱傳遞給第一個參數,將屬性值“He four”傳遞給第二個參數?? ?$person1->name="何四";???? ?當進行賦值時,它會調用__set中的 $this->propertyName=$propertyValue代碼

__get()方法:此方法用于獲取私有成員屬性的值。有一個參數。參數傳遞要獲取的成員屬性的名稱,并返回獲取的屬性值。這個方法不需要手動調用,因為我們也可以私有化這個方法,當直接獲取私有屬性時會自動調用對象

獲取方法

//在類中添加__get()方法,在直接獲取屬性值時自動調用一次,將屬性名稱作為參數傳遞并處理私有函數__get($ propertyName){//在方法之前使用私有修飾阻止對象外部調用if($ propertyName=='sex'){//如果參數在“sex”中傳遞,則條件設置為返回'機密'; //不要讓別人獲得性別,用“secret”替換它}} if if($ propertyName=='age'){//如果參數傳遞“age”那么條件為真如果($ this-&gt ; age> 30)//如果對象中的年齡大于30,則條件為真。返回$ this - >年齡-10; //返回對象中的虛假年齡,比實際年齡小10歲。 //如果對象中的年齡不大于30,請執行以下代碼返回$ this-> $ propertyName; //讓Access可以獲得對象中的真實年齡} else {//如果參數在其他屬性名稱中傳遞,則條件為真==>> return $ this-> $ propertyName; //沒什么別的限制,你可以直接返回屬性的值}}說明:1。它只有2. name屬性是關鍵代碼的參數,這里返回$ this-> $ PropertyName,代碼實際上是獲得了屬性值,如代碼:

。 $ person1=new Person('張三','男',40); echo'name:'。$ person1-> name。'';它會被自動調用,尤其是__get()方法中的$,Person1是$ this。

>>>

關于__isset()和__unset()函數引入的含義和函數[PHP不提供unset和isset函數嗎?] __ isset()方法:isset()是一個用于確定是否設置變量的函數。輸入變量作為參數,如果傳遞的變量存在則返回true,或返回false。

因此,如果在對象外使用“isset()”函數來確定對象中的成員是否已設置,是否可以使用它?在兩種情況下,如果對象中的成員是公共的,我們可以使用此函數來確定成員屬性。如果它是私有成員屬性,則此函數將不起作用,因為私有是在外部封裝的。無形。然后你只能使用__isset魔術方法來完成。

同樣,__unset也是如此。

應用__isset和__unset函數

//__ isset()方法private function__isset($ nm){echo'isset()函數在確定私有成員時自動調用'; return isset($ this-> $ nm);這里測試的結果是真還是假} //__ unset()方法private function__unset($ nm){echo'自動調用'unset($ this-> $ nm); >

網站建設,小程序開發,小程序制作,微信小程序開發,公眾號開發,微信公眾號開發,網頁設計,網站優化,網站排名,網站設計,微信小程序設計,小程序定制,微信小程序定制

相關案例查看更多

主站蜘蛛池模板: 偷自拍亚洲综合在线 | 国产一精品一AV一免费爽爽 | 精品亚洲aⅴ乱码一区二区三区 | 一个人看的日本hd免费 | 国内揄拍高清国内精品对白 | 国产三级精品三级在线专区91 | 午夜丰满少妇性开放视频 | 伦埋琪琪深夜福利 | 欧美久久久久久久久久久久 | 最新国产在线拍揄自揄视频 | AV无码A在线观看 | 亚洲AV日韩AV男人的天堂在线 | 免费精品国产va自在自线 | 久久久久久99av无码免费网站 | 香蕉久久久久久久AV网站 | 日本丰满护士bbw | 四虎影视免费看 | 色综合视频在线 | 亚洲国精产品一二二线 | 天堂网www资源在线 国产高清精品一区二区 | 国产精品久免费的黄网站 | 国产精品99久久免费黑人 | 久久国产劲爆∧V内射-百度 | 日韩精品东京热无码视频 | 国产精品亚洲欧美日韩一区在线 | 精品一个色 | kendralust性潮喷hdbrazzers | 国产精品亚洲专区无码不卡 | 999久久欧美人妻一区二区 | 无码精品A∨在线观看十八禁 | 国产成人精品无码一区二区蜜柚 | 麻豆免费版在线观看 | 国产寡妇XXXX猛交巴巴 | 蜜臀影音| 性色欲情网站IWWW九文堂 | 国产亚洲网站 | 日本不卡免费一区 | 少妇被強暴到高潮 | 日本高清不卡中文字幕免费 | 97久久超碰国产精品 | 成人网站免费看黄A站视频 中文字幕 亚洲视频 |