在PHP中实现ArrayAccess接口,我们可以将对象属性作为数组键访问.使Object的行为类似于数组有什么好处?
就像我看到Frameworks用ArrayAccess
Interface实现'FORM' 然后我们可以访问(HTML)Form Objects Fields之类的,
$form['nameField'] instead-of $form->nameField
$form['titleField'] instead-of $form->titleField
Run Code Online (Sandbox Code Playgroud)
什么是使用$form['nameField]
替代的好处$form->nameField
是'数组数据结构'的速度还是对象和数组表单之间的可移植性?
还是我错过了什么?:)
没有功能上的好处,但结构上.
如果您定义了一个地图,您建议它可以包含任意数量的命名元素,这些元素类似.对象属性通常定义良好且类型不同.
简而言之:如果你实现ArrayAccess
你说"我的对象(也)就像一个数组".
http://en.wikipedia.org/wiki/Associative_array