我經常在不同的地方使用模型中的常量(基本狀態常量),當常量改變時我不得不在使用每處它的**中修改。
為了解決這個問題我使用了乙個方法getconstants().
為了給每個 activerecord 類新增此方法,我們可以寫個基類[php]
public static function getconstants($token,$objectclass)
return $tokenconstants;
}
然後所有的模型類都繼承此類而不是 cactiverecord[php]
class activerecord extends cactiverecord
return $tokenconstants;
}}
在模型規則,方法,或模型外使用self::getconstants()[php]
class media extends activerecord
其他地方[php]
class media extends activerecord
//..
public static function getstatuses()
public static function gettypes()
}
當然如果你的模型中只有兩個常量你可以不使用它,但當你的模型中有大量常量時建議你使用。[php]
print_r( media::getconstants('status_','media') );
//or create media method and use simplified
print_r( media::getstatuses() );
Yii2 例項管理
yii2框架沒有提供類似zendframework3中提供的servicemanager.那麼yii2框架是如何管理物件例項的呢?長時間使用yii2框架的童鞋一定已經適應了物件中的public變數,以及乙個來自yii base component的 set 魔術方法來完成物件構造的過程,但是新鳥如何...
使用logback輕鬆管理日誌
最近才開始在專案中使用logback,有一種相見恨晚的感覺,因為它很輕易的滿足了我的幾個需求 1.配置簡單,易於上手 2.乙個日誌檔案中只能某乙個級別的日誌 3.乙個類中可以指定多個不同的日誌,並且生成的每個日誌檔案中只包含其本身的內容 4.可以關閉或者開啟某幾個包的日誌,並且可以設定不同的包使用不...
使用logback輕鬆管理日誌
最近才開始在專案中使用logback,有一種相見恨晚的感覺,因為它很輕易的滿足了我的幾個需求 1.配置簡單,易於上手 2.乙個日誌檔案中只能某乙個級別的日誌 3.乙個類中可以指定多個不同的日誌,並且生成的每個日誌檔案中只包含其本身的內容 4.可以關閉或者開啟某幾個包的日誌,並且可以設定不同的包使用不...