Repository navigation
v2.0.0
🎉 新功能
- 新增屬性標註系統:
#[Relaxed]- 鬆散模式,不強制要求填寫#[Reason]#[Reason]- 屬性非 private 時強制使用此標註說明設計原因
✨ 功能改進
- 優化
with()方法:- 現已支援嵌套 ImmutableBase 物件的部分更新
🔧 重構
- 屬性管理強化:
- 移除
$lock屬性和HIDDEN常數機制 - 新增屬性訪問控制檢查(禁止非 readonly 的 public 屬性)
- 新增
isRelaxed()方法檢查類別是否為鬆散模式
- 移除
🔄 API 變更
with()方法:現在支援嵌套物件的部分更新toArray()方法:移除$lock檢查,簡化邏輯- 屬性管理:引入新的屬性標註系統取代舊的隱藏機制
📚 範例
// 支援嵌套更新
$user = $user->with([
'profile' => [
'address' => [
'city' => '新城市'
]
]
]);