深入理解Magento-第十章-数据操作数据收集器.docVIP

深入理解Magento-第十章-数据操作数据收集器.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入理解Magento-第十章-数据操作

深入理解Magento-第十章-数据操作数据收集器 在我们开始介绍数据操作前,我们先介绍一个神兵利器—Varien Data Collections。在最早的时候我们写php通常用Array来做数据收集器,这个小东西可发挥了大作用,要知道如果你想在其他语言中实现Array有多么难过。 例如c、c++。 在php5中,更是发扬了Array,php内置了一些类和接口,允许你创建你自己的数据结构。Magento充分利用了这一点,在使用Varien_Data_Collection来做数据收集的时候,它实现了php内置IteratorAggregate对象迭代器和Countable两个接口。下面是用php内置类ArrayObject的一个例子。 $array = new ArrayObject(); class MyCollection extends ArrayObject{} $collection = new MyCollection(); $collection[] = bar; 在接下来的文章中,我认为你已经了解ArrayObject、IteratorAggregate、Countable。如果还是很陌生,我建议你先阅读这篇文章PHP5对象迭代(Object Iteration)。当然你不必了解很底层的东西,你只需要知道如何用就可以了。 适合对象:高级开发者 作者:精东 最后修改时间:2010年5月31日 版本:V 0.1.0 在Magento代码中,其实每个Model都有个Collection。了解这些数据收集器是如何工作的是你成为一个真正Magento开发人员的关键点。 下面让我们开始吧,前面我们创建过一个Helloworld模块,现在我们继续用他开始我们接下来的学习。 创建一个数据收集器 首先,我们创造一些新的对象。 $thing_1 = new Varien_Object(); $thing_1-setName(Richard); $thing_1-setAge(24); ? $thing_2 = new Varien_Object(); $thing_2-setName(Jane); $thing_2-setAge(12); ? $thing_3 = new Varien_Object(); $thing_3-setName(Spot); $thing_3-setLastName(The Dog); $thing_3-setAge(7); Magento中所有的Model都继承Varien_Object,在面向对象编程中,这样做的好处是当你想往多个Model中添加方法的时候,你只需要简单地修改一个文件即可。 在继承Varien_Object的类中,有两个魔术方法,get/set,你可以很方便的向对象中加入一个属性(值),让我们看个例子。 var_dump($thing_1-getName()); 如果你忘记了属性的名字,你可以将所有数据都获取到: var_dump($thing_3-getData()); 你将看到以下结果: array name = string Spot (length=4) last_name = string The Dog (length=7) age = int 7 注意last_name属性,是用下滑线分隔的,如果你想用get和set魔术方法,那么需要使用驼峰命名法。 $thing_1-setLastName(Smith); 在新版本的magento中你可以用array关联数组的方式获取数据。 var_dump($thing_3[last_name]); T这个归功于php5的新特性,ArrayAccess接口。也是 “Object Oriented Programming”. 现在然我们把这些对象加到数据收集器Varien_Data_Collection中。很多程序员将Collection看成是数组,当然我不反对。 $collection_of_things = new Varien_Data_Collection(); $collection_of_things -addItem($thing_1) -addItem($thing_2) -addItem($thing_3); 大多数Magento data Collections继承于Varien_Data_Collection,你可以使用里面的任何一个方法。 那么我们可以做些什么呢?接下来我们使用foreach去循环它。 foreach($collection_of_things as $thing) { var_dump($thing-getData()); } 这里还有方法取出第一个数据和最后一

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档