从开发的角度来看,我一直在阅读伟大的codeigniter。我相信使用该框架将使开发过程更快。但我问自己的问题是,单独制作的框架会不会满足您的需求?
CI是否尽管广告占用空间小,但却“陷入困境”,因为它基本上是一个框架框架(后来将PHP称为C框架)?有没有很好的方法来分散负载?野外是否有任何大型应用程序用CI制作?
由于 卡斯帕。
答案 0 :(得分:22)
我正在运行一个大约有11K文件的codeigniter网站。
我已根据需要大量修改了codeigniter的基本结构。例如,我有3个应用程序,3个前端控制器使用相同的系统文件。我使用smarty作为我的模板引擎。我有丰富的PHP Web应用程序,由jquery和prototype / Scriptaculous提供支持。我使用表单验证,身份验证,活动记录,电子邮件等。
到目前为止,我的经历非常积极。
一旦你得到一个(真正的)模板引擎,如smarty插入Codeigniter,你将获得中大型网站所需的所有功能。
您必须考虑将您的网站组织成大型“元组”,因为Codeigniter中的“控制器”结构需要这样的行为。 ('博客','商品','论坛'等。)
CI很容易添加插件。
该框架简化了您需要手动编写代码的大量垃圾。它快速,简单且可配置。
到目前为止,我对CI的一个主要抱怨是,它不是很多应用程序感知。默认布局假设您正在运行1个应用程序。就我而言,我有一个全局应用程序,可以将全局文件拖入所有正在运行的应用程序中。但是,这可以更优雅地解决。此外,您必须在前控制器之间切换一点额外的绒毛。
我最喜欢的CI方面很容易在MySQL数据库上进行活动记录。设置数据库连接并运行活动记录查询非常简单。
我想说开始很容易。只需确保您四处寻找并找出如何将smarty插入您的应用程序。你可以使用Codeigniter的默认'视图',但是你需要的时间,你的模板中的/ else逻辑就被搞了。
我在每个应用中设置了“模板”和“内容”区域,我可以分别使用智能模板和静态内容填充。其余的我可以从数据库连接中提取。
答案 1 :(得分:20)
这真是一个只有你能回答的问题。当您谈到“大型系统”时,您可能意味着主要使用的内容(通过网页浏览/等),或者包含大量业务规则但仅由少数人使用的内容。应用程序是否需要快速,或者您可以跨多个服务器对其进行负载平衡吗?
你的“PHP是一个关于C的框架”评论相当糟糕,IMO。不,PHP没有C那么快。但它在处理Web请求方面要好得多。 PHP用于世界上一些最大的网站 - Facebook最初完全用PHP编写。雅虎使用PHP相当多。所以PHP对于任何人来说都足够快,特别是考虑到数据库几乎总是你的瓶颈。如果PHP应用程序运行缓慢,您可以使用memcache / load balancers /在网络上放置更多应用程序服务器。很容易扩展PHP的结尾。
我可以告诉你的是与其他框架的简要比较。我在有限的部署中使用CI,主要是帮助其他人,但我所看到的,我很喜欢。它为您提供了比CakePHP更快的运行时优势,但它会增加您的开发时间(因为Cake最大的优势在于它能够快速开发和部署)。速度方面它与Zend或Symfony相当,它比自己编写原始PHP的速度慢约5-7倍。
总结各种框架(NB:我的观点如下):