php 想實作一個欄位被賦值後就不能修改了,這樣要怎麼實作呢?

WBOY
發布: 2016-09-26 08:40:17
原創
1204 人瀏覽過

php 本身沒有類似C# readonly這樣的修飾符,應該要透過設計實現了吧

回覆內容:

php 本身沒有類似C# readonly這樣的修飾符,應該要透過設計實現了吧

常數不就行了嗎?
define(key,value)

Talk is cheap,i will show you the code demo.
Like this:

<code>//1.first snippet
class HelloSomeOne{
 const NAME = "PHP技术大全";
 //todo something else.
}
//2. second snippet
//not in class body inner
const NAME = "PHP技术大全";</code>
登入後複製

php並沒有提供這樣的功能,不過在物件導向的設計中,可以透過set/get方法實現。

<code>class {
    private $a = null;
    
    public function setA($a) {
        if (null === $this->a) {
            $this->a = $a;
        }
    }

    public function getA() {
        return $this->a;
    }
}</code>
登入後複製

對於set/get方法,可以用__set/__get這兩個魔術函數實現,書寫效果可以更佳。

在PHP腳本裡可以用define實現,在PHP類別裡可以用const實現

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板