2017-04-19 75 views
0

我需要知道getter和setter如何在PHP中工作。因爲一些採訪者問了關於getter和setter的棘手問題。 我沒有解釋。 任何人都可以幫我嗎?getter和setter如何在PHP中工作

+0

你到底想知道些什麼?也許使用一個簡單的例子,它可以幫助你 – MounirOnGithub

回答

1

獲取器和設置器用於稍後的階段 - 可以在開發者請求或設置變量時提供邏輯。

例如,如果你想添加一層驗證來防止你的對象被濫用。如果你想確保這個人的$ name變量是一個字符串變量而不是別的什麼呢?好了,我們可以驗證這層簡單地添加到我們的setter方法:

//Set the person's name. 
public function setName($name){ 
    if(!is_string($name)){ 
     throw new Exception('$name must be a string!'); 
    } 
    $this->name = $name; 
} 

在上面的PHP代碼,我們修改了setter方法的setName讓她能夠驗證$ name變量。現在,如果程序員嘗試將$ name變量設置爲數組或布爾值,我們的函數將拋出一個異常。如果我們想要,我們也可以確保$ name變量不是空白字符串。

Big thanks to this post.

祝您好運對你的採訪!

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/15886257) – mickmackusa

+0

@mickmackusa絕對真實!這樣更好嗎? – Thoby

+0

好多了。謝謝你的良好SO公民身份。 – mickmackusa