【发布时间】:2013-12-09 06:04:21
【问题描述】:
我一直在使用带有受保护属性的 __set 魔术方法来监视更改,以便我的类知道它们是否有要保存的东西。有没有办法监控数组类型属性的变化?我知道通常您通过引用访问数组,并且像 array_push 这样的函数不会触发 __set 方法,它们会使用对数组的引用。
我想要的基本上是这样的:
class Skill{ public $Player, $Name, $Level;}
class Player {
protected $Name, /*Other properties*/, $Skills /*Array*/
}
然后我跟踪 Player 中的所有属性,告诉我是否需要更新持久性。 (技能也会有这个功能,但这显示了基本示例)。另外,我想强制它们保持同步(这是一种双向关系)。
有什么方法可以让它表现得像一个数组(如果我不需要的话,不想通过创建一个类来同步它们)。
【问题讨论】:
标签: php arrays change-tracking