php - CodeIgniter 是大型应用程序的明智选择吗?

标签 php codeigniter scalability scale

从开发的角度来看,我一直在阅读 codeigniter 有多么出色。而且我确信使用该框架将使开发过程更快。但我问自己的问题是,单独制作的框架是否会满足您的需求?

CI 是否会因为它基本上是框架上的框架(后来将 PHP 称为 C 框架)而“陷入”系统,尽管它被宣传为占用空间小?有分散负载的好方法吗?有没有使用 CI 开发的大型应用程序?

谢谢 卡斯珀。

最佳答案

我正在运行一个包含大约 11K 个文件的 codeigniter 站点。

我已根据需要对 codeigniter 的基本结构进行了大量修改。例如,我有 3 个应用程序和 3 个使用相同系统文件的前端 Controller 。我正在使用 smarty 作为我的模板引擎。我有丰富的 PHP Web 应用程序,由 jquery 和原型(prototype)/Scriptaculous 提供支持。我使用表单验证、身份验证、事件记录、电子邮件等。

到目前为止,我的体验非常积极。

一旦您将像 smarty 这样的(真正的)模板引擎插入到 Codeigniter 中,您就拥有了大中型网站所需的所有功能。

您必须考虑将您的站点组织成大型“元组”,因为 Codeigniter 中的“ Controller ”结构需要这种行为。 (“博客”、“商品”、“论坛”等。)

CI 很容易添加插件。

该框架简化了您原本需要手动编写代码的大量废话。它快速、简单且可配置。

到目前为止,我对 CI 的一大提示是它不是很了解多应用程序。默认布局假定您正在运行 1 个应用程序。就我而言,我有一个带有全局文件的全局应用程序,可以将其拉入所有正在运行的应用程序中。然而,这可以更优雅地解决。此外,您必须添加一点额外的绒毛才能在前端 Controller 之间切换。

我最喜欢的 CI 方面是易于在 MySQL 数据库上进行事件记录。设置数据库连接并运行事件记录查询非常简单。

我会说它很容易上手。只要确保你货比三家,弄清楚如何将 smarty 插入你的应用程序。您可以使用 Codeigniter 的默认“ View ”,但是当您在模板中需要 if/else 逻辑时,您就完蛋了。

我在每个应用程序中设置了一个"template"和一个“内容”区域,我可以分别用智能模板和静态内容填充它们。其余的我可以从数据库连接中提取。

关于php - CodeIgniter 是大型应用程序的明智选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1164628/

相关文章:

mysql - 带有数据库存储选项的 Codeigniter session 类未优化?

php - 从 session 数组 php 获取单个元素以通过 MySQL SELECT 语句

c# - 如何通过 Unity 访问服务器上的 PHP 文件以进行 MySQL 数据库操作?

mysql - 无法使用 Codeigniter 连接到外部数据库

php - 如何在 Codeigniter Rest_controller 中将 `user` 名称更改为其他名称,如 `client`?

kubernetes - 使用GKE处理流量突然增加(多个数量级)

PHP 锁定文本文件进行编辑?

php - 为什么我的 cron 作业不运行这个 php 文件

xml - 搜索或索引 XML 文件

node.js - 如何使用 docker 正确部署和扩展应用程序