我正在决定试用PHP的框架。我把它缩小到CakePHP和CodeIgniter。对于使用或熟悉两者的人,我有几个问题:

  1. 我喜欢CakePHP默认情况下将大部分代码保留在webroot之外的事实。特别是因为我最终可能会为多个应用程序使用单个框架安装。我看到CodeIgniter也会这样做,但你必须配置它并移动一些东西。这种解决方法是安全可靠的,还是事后的黑客攻击?

  2. 哪些(如果不是两者)更容易升级,并且长期维护?随着框架的新版本(和PHP本身)问世。我不想发现我的东西破坏或过时。

  3. 修改

    这是一篇非常古老的帖子,但我想我会用我最终做的事来更新它,这就是使用Kohana。

有帮助吗?

解决方案

你应该尝试两个框架一个星期左右,在两者中构建一些微不足道的东西(如博客或维基),并查看你喜欢使用哪些框架。无论什么事情最有意义给你,通过升级弃用可能会让你持续时间最长。

CakePHP现在处于一种易变的状态,在推动发布版本1.2(不向后兼容)时仍然会发现错误。如果你现在需要一些坚实的 ,我不会建议用它构建一个关键应用程序。如果你可以等待一两个月来解决问题,那么这可能是一个没有实际意义的问题。

解决您的疑虑:

1)Cake和CI以同样的方式执行(iirc)。他们在这方面同样安全,可靠和苛刻。

2)一切都在变化。如果您需要具体,永久保证稳定性和向后兼容性,请滚动您自己的框架。没有那么多,除非你想要它,否则你保证没有任何改变。

其他提示

我在CakePHP上部署了多个应用程序,这是一次非常非常好的体验。不管怎么说都不会出错,因为两者都很稳固。

  1. 不是问题。

  2. CodeIgniter背后有赞助商,所以它绝对是长期选择的赞助商。此外,它更快。

  1. 这是一个非问题。该应用程序有几行代表核心和应用程序代码所在的位置。你只需要更改这些行。

  2. 你永远不会预料到这一个。

  3. PHP的状态是一个通配符。一个应用程序(CI)构建为与PHP4兼容,另一个需要PHP5。如果您需要处理仅支持旧版PHP的Web主机的可能性,那么您需要使用CO。

    另一个问题是单元测试。如果您需要使用您的框架进行测试,那么CI就不是您的选择。

    就个人而言,由于公司支持,我对CI感到满意。 CI背后的公司正在通过他们的努力获得真正的利润。虽然CI是免费的,但他们的付费产品(ExpressionEngine)最终将继续使用CI。 Zend框架甚至Rails的诞生(最初是为Basecamp建造的)也是如此。

对上述评论的一个小修正:两者都与PHP4兼容,而不仅仅是CI。此外,我不认为拥有赞助商会使CI变得可升级或可维护。金钱至少没有解决这些问题。

我将CakePHP用于各种应用程序,到目前为止我对此感到满意。 1.2是对1.1的巨大改进,虽然库源可能会从RC3更改为Final,但我认为您编写的任何代码都不会过时。我唯一的问题是手册不是那么全面(在我看来),而且我最终在API中得到了很多。权衡的是,我现在非常了解幕后的代码。无论如何,我强烈推荐它。

另一方面,我从未玩过CI,因此我不推荐CakePHP over CI。我会把每一个旋转,看看哪一个抓住你。无论你选择哪一个,都要研究它的惯例和能力。当我开始使用Cake时,我不知不觉地写了一堆代码来做一些Cake做的事情“自动化”。让我在控制器中设置一个变量。

CodeIgniter非常灵活,您可以在尝试后看到它。那么你的应用程序如何可维护将落在你的手上。

我还使用相同的安装部署了多个应用程序。我通常为CMS项目创建2个应用程序(一个用于管理员,一个用于前端)。

从CodeIgniter角度解决你的两个问题(我不使用Cake):

1)CodeIgniter默认情况下不会将自己置于Webroot之外,但它可以通过一些非常简单的更改来实现。 我的CI教程的第一部分系列介绍了如何执行此操作,并逐步介绍了新CI实例的设置。完成后,需要在webroot中的唯一CI部分是一个小的index.php引导程序文件。

2)我有一个我最初在CI 1.4.x中开发的应用程序,并且我已成功迁移到1.5.x然后1.6.x.每个新版本的CI开发人员都会提供详细的升级说明,列出需要更换的内容,因此升级非常简单。

吉姆。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top