【问题标题】:Using __get() on array class properties to auto-propogate with a class在数组类属性上使用 __get() 以自动传播类
【发布时间】:2011-07-23 12:13:09
【问题描述】:

我有一个 activerecord 模型,其中有一个数组:“$sessions”。我想做的是把它变成一个二维数组,以便按以下方式索引:

["0"=>Session(Object), "1"=>Session(Object)]

现在要在上面添加奶油,我想这样做,以便用户可以这样做:

user->sessions[1]->id = "ghgh"

__get 将了解类变量 ("$sessions") 中的该位置是否已经存在一个对象,并将该属性添加/编辑到该类,否则它将在该位置创建一个名为“会话”。

我有点困惑如何让 PHP(如果可能)在数组的索引上获取 __get。

【问题讨论】:

  • 我想我现在可能已经找到答案了,哈哈。通过将对象设置为实现数组访问接口的类,我实际上可以将数组作为数组滚动,并将新类分配给不存在的索引并编辑确实存在的对象:stackoverflow.com/questions/5939677/…

标签: php magic-function


【解决方案1】:

我想你正在寻找ArrayAccess

提供以数组形式访问对象的接口。

【讨论】:

  • 是的,我相信 :) 我会按照我作为评论发布的答案感谢您对我的想法的支持 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 2019-08-31
  • 2011-10-08
  • 1970-01-01
相关资源
最近更新 更多