改变PHP框架是容易还是困难?

改变PHP框架是容易还是困难?,php,zend-framework,codeigniter,Php,Zend Framework,Codeigniter,我决定使用codeIgniter作为我的php框架,因为我对php相对缺乏经验(到目前为止只学习了大约6个月),听说Zend是为了更高级的水平 因此,如果我与codeIgniter合作一年,然后决定切换到Zend(如果我决定的话),那么完成这两个框架之间的转换需要多长时间?这一切都取决于您作为开发人员的实际经验。但我花了几周时间才对Zend Framework有了足够的了解,以便将其用于真正的网站。Codeigniter是一个由程序员(比如您自己)为可用性而构建的框架,您在PHP方面没有太多经验

我决定使用codeIgniter作为我的php框架,因为我对php相对缺乏经验(到目前为止只学习了大约6个月),听说Zend是为了更高级的水平


因此,如果我与codeIgniter合作一年,然后决定切换到Zend(如果我决定的话),那么完成这两个框架之间的转换需要多长时间?

这一切都取决于您作为开发人员的实际经验。但我花了几周时间才对Zend Framework有了足够的了解,以便将其用于真正的网站。

Codeigniter是一个由程序员(比如您自己)为可用性而构建的框架,您在PHP方面没有太多经验,它提供了一个简单的API,可以轻松快速地创建网站

另一方面,Zend并不是一个性质相同的框架,其中CodeIgniter被专门构造为完全按照您的要求执行操作。Zend更像是一个组件框架,提供了所有内容,但您必须自己构建它

也就是说,要与Zend合作,您必须理解MVC、OOP、关系映射等概念,才能有效地构建网站

Zend不仅仅是一个Web框架,它还是通过命令行创建应用程序的网关。-我知道CI 2.0支持CLI,但它不是为它而构建的

例如,我可以从我的系统中删除Apache web服务器,并通过CLI仅使用PHP和Zend构建HTTP服务器,它将使用组件与服务器的其他部分(如服务等)交互,监视端口80并解析HTTP头,并执行正确的操作,如通过PHP CLI执行请求的文件

如果我能用拉门的话来说,我会说Codeigner是一块已经过支持的蛋糕,可以切片并与世界分享,而Zend则是桌子上准备好混合的配料

你应该知道,第一次开始做一个特定的蛋糕永远不会是对的,它需要时间和努力,在你能让它达到你喜欢的程度之前尝试新的东西

从Codeigniter开始将是一个明智的选择,这将向您学习对象、推理、MVC、数据库摘要、库、目录结构的基础知识,以及许多您将用于为站点创建和推进系统的更多内容

也就是说,如果你所知道的只是Codeigniter,那么迁移到Zend会有点棘手,因为它是一个完全不同的平台,就像从Windows跳到苹果一样,它们都执行相同的任务,但从来都不一样

因此,与其说过渡是以时间为单位来衡量,不如说是以技能为单位

资源:


希望这能有所帮助。

这取决于您将自己耦合到框架中的程度。当一年过去的时候,你会意识到你不可能改变一个框架(除非你有大量的空闲时间——这永远不会是真的)

不要期望切换而进入它。应用程序越复杂,切换所需的工作量就越大。您可以进行切换,但棘手的部分将是类似于ORM的东西,更不用说触摸项目的每个部分以确保工作正常


我认为您在CodeIgniter或Zend框架中有一个可靠的选择。感谢您使用框架期。在其中一个方面做得很好,也许可以在另一个项目中尝试另一个。

这一切都取决于您对php框架的了解程度。 您是否熟悉框架结构、功能、API等。 因此,如果您的计划是更改为ZendFramework,那么这一切都取决于您如何访问框架的文档(这里我假设您以前从未使用过ZendFramework),因为codeIgniter和ZendFramework具有不同的API调用。 更容易理解框架的文档(API、参考指南、教程等),然后更快地在两者之间进行转换。 IMHO ZendFramework缺少API文档,我需要很长时间才能理解实现。
尝试将它与另一个php框架文档进行比较。

我与Zend一起工作,已经工作了一年多了,它不是一个很好的框架(如果你可以这样称呼它的话)。对我来说,它就像是一个更重版本的Codeigniter,唯一的区别是Zend有Auth和ACL组件,以及一个真正强大的ORM组件

话虽如此,与Zend相比,Codeigniter所缺乏的东西被令人敬畏且不复杂的文档所掩盖,这些文档比淹没您的Zend文档更容易解释一切

我不得不在工作时将我在Codeigniter中构建的一个小型CMS转换为Zend,幸运的是一位同事帮助了我(他非常喜欢Zend),考虑到Zend中的控制器和模型与Codeigniter中的控制器和模型不同,这有点混乱


如果我是你,我会从Codeigniter切换到Kohana,或者甚至是块FuelPHP上的新孩子,这有点像Codeigniter和Kohana的混合。Zend比我认为的要复杂得多,更适合于企业应用程序,老实说,我遇到的基于Zend的企业应用程序并不多。

蛋糕是直观地在他脑海中显示两个不同概念的最简单方法。是的,你可以吃一块:)“蛋糕是个谎言。”-门户参考谢谢你的详细回答!