1个回答
展开全部
这个还真不能说是升级了什么东西,相对来说zf2反倒削减了一些东西,之所以说两者区别很大是因为这次升级其核心设计思路有了变更,导致zf2和zf1的巨大差异。
zf1中,框架尽可能提供了丰富的功能封装,同时保留了充分的接口,使开发者能精细的(相对比较容易的)控制所有环节,从而实现自己的应用。
zf2中,开发者根据zf1的反馈,简化了大量不常用的东西(比如80%的项目不会用到,或者不会对该细节进行修改),因此zf2使用起来感觉封装的更加彻底,但是同时也意味着如果框架封装的功能不符合你的要求时你需要更深入的挖掘其源码才能找到调整方法。
但是,值得一提的是,zf1和zf2在整体架构上基本保持了一致性,即对象和方法基本没有变化,只是修改了内部的逻辑,因此如果从zf1过度zf2并不困难,但是zf2退回zf1可能你需要学习更多的内容。
举例来说,zf1中的多语言功能必须进行适当的配置才能使用。而zf2中默认加载了一种Zend_Translator_Adapter(默认加载的好像是GetText方式),由于该方式比较流行,因此很大的概率开发者不需要再考虑如何配制多语言了。
如果你持续的关注了zf2开发过程中的各种官方消息,你会发现他们在新版本中更多的关注如何使功能更易用,哪些东西不会被使用,为什么不会被使用,是否可以改进,有无存在的必要等,而不是强调推出新功能或修改框架整体的结构。
希望以上回答能帮到你。
zf1中,框架尽可能提供了丰富的功能封装,同时保留了充分的接口,使开发者能精细的(相对比较容易的)控制所有环节,从而实现自己的应用。
zf2中,开发者根据zf1的反馈,简化了大量不常用的东西(比如80%的项目不会用到,或者不会对该细节进行修改),因此zf2使用起来感觉封装的更加彻底,但是同时也意味着如果框架封装的功能不符合你的要求时你需要更深入的挖掘其源码才能找到调整方法。
但是,值得一提的是,zf1和zf2在整体架构上基本保持了一致性,即对象和方法基本没有变化,只是修改了内部的逻辑,因此如果从zf1过度zf2并不困难,但是zf2退回zf1可能你需要学习更多的内容。
举例来说,zf1中的多语言功能必须进行适当的配置才能使用。而zf2中默认加载了一种Zend_Translator_Adapter(默认加载的好像是GetText方式),由于该方式比较流行,因此很大的概率开发者不需要再考虑如何配制多语言了。
如果你持续的关注了zf2开发过程中的各种官方消息,你会发现他们在新版本中更多的关注如何使功能更易用,哪些东西不会被使用,为什么不会被使用,是否可以改进,有无存在的必要等,而不是强调推出新功能或修改框架整体的结构。
希望以上回答能帮到你。
追问
zf2是在2012才推出的,有关中文学习资料较少。现在想学习zf2,有一些优秀的学习教程推介么?(求中文教程)
追答
没什么推荐,你可以先看一下zf1的中文手册,对zf的mvc控制和整体代码结构有个了解。然后看看zf2的英文手册就行了。
对于zf框架,其起点较高,不适合PHP新手,最低要求为精通PHP,熟悉OOP思想,有一定的项目经验。其相关资料主体就是官方手册,其他的额外资料无论中文和英文的都极少。因为zf框架具有高灵活性,搞扩展性特点的原因,各种资料往往只是代表了作者对zf的使用心得,只有借鉴价值,而不可能直接拿来就用。
提供一点我的经验:根据官方的quick start搭建项目,并按照步骤逐一完成。然后在该基础上尝试构建自己的应用,构建的同时也就深入的学习了zf。遇到具体的问题先考虑自己的思路是否正确,然后考虑针对特定问题搜索相关资料(大部分是英文的,没办法),例如,搜索Zend_Mail已smtp方式标题乱码这种详细的问题,而不要搜索如何使用Zend_Mail这种粗略的问题。
从学习zf到熟练使用zf大约需要半年以上的时间,且最少使用zf完成一个完整项目。英文不好可以用google翻译,我也不懂英文的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询