【问题标题】:PHP CodeIgniter Framework - Thoughts on developing with it?PHP CodeIgniter 框架 - 使用它开发的想法?
【发布时间】:2010-03-20 03:55:42
【问题描述】:

我一直在审查用于我接下来的几个主要 Web 应用程序的不同框架,经过几天的研究,我几乎准备使用 CodeIgniter

我倾向于 CI 的原因是到目前为止它看起来最适合我。它不需要持续的命令行访问(我目前正在使用共享主机;这些项目还不需要专用服务器),运行它的服务器上不需要安装任何特别的东西(你只需将框架上传到无论你在开发什么),而且他们似乎有一些优秀的文档、视频和教程来介绍如何开始。

你们中有人有使用 CodeIgniter 的经验吗?如果是这样,您对它及其特点有何看法?你用它开发了什么,它最适合创建什么类型的应用程序?我当然不想陷入这样一种情况,即我试图弯曲一个框架来做一些它不适合做的事情。

我的两个项目都是数据库驱动的应用程序,需要用户注册,能够操作特定于其帐户的数据(他们的帖子、列表、用户帐户详细信息等)等等。

另外,如果您有任何其他 PHP 框架建议,我愿意接受。

提前感谢您的帮助!

-苏塔

【问题讨论】:

    标签: php codeigniter rad


    【解决方案1】:

    CodeIgniter 是我的第一个框架。这很棒,因为它拥有强大的社区和优秀的文档,但问题是它试图保持与 PHP 4 的向后兼容性,因此缺乏现代框架所具有的许多“标准”功能,例如自动加载。此外,它由一家商业公司提供支持,而且根本不经常更新。

    这是您加载模型、助手等的方式:

    $this->load->model('user');
    $this->load->helper('array');
    

    糟糕,自动加载就是为这种情况设计的。

    输入Kohana。 Kohana 严格来说是 php5,最初是作为 CodeIgniter 的一个分支创建的(它曾经被称为 Blue Flame),但后来它被重写了。前面的站点显示了 Kohana 2.* 文档和下载,但我真的建议使用新的 3.* 分支。它更干净,但缺少官方文档。但是,community wiki 非常棒,您可以通过它轻松地在网站上开始使用。

    我也更喜欢 Kohana 社区。它的编织更紧密。很难解释,但他们似乎更“自豪”......该框架散发出一种黑客氛围,因为它它是如此轻量级,你可以用它做任何你想做的事情。归根结底,它实际上只是一堆松散耦合的类。我真的推荐它。

    Kohana 的源代码也非常有据可查,而且非常清晰。回到 Kohana 3 beta 发布时,我只是通过阅读源代码来了解这个框架(wiki 还没有出现)。我以前从来没有这样做过,但是仅仅因为代码质量我就没有问题。

    此外,由于该框架是社区驱动的,因此它会收到更频繁的更新。

    【讨论】:

    • 埃利斯不是刚刚发布了 CI 2,还是我在考虑 EE?
    • 是的,EE 2.0 刚刚进入测试阶段。
    • 哈,我今天才知道你提起小花很有趣。我喜欢它严格基于 PHP5 的事实,而不是 CI 出于某种原因在 PHP4 上死气沉沉,即使它不是 2010 年。我担心的是:我目前是一名初级到中级的 PHP 程序员。我在 C# 中的成功很大程度上是因为借助 Visual Studio 的自动完成功能,我可以很容易地弄清楚如何编写代码。使用 PHP,我严重依赖教程等。 CodeIgniter 看起来有更多的 tuts 和资源,虽然我可能更喜欢 Kohana 我不确定我是否能够使用它。
    • 当然,除非我只是错过了一些 Kohana 3 tuts 或文档.. 建议?
    • @sotah 我在帖子中链接到社区 wiki,您应该能够从中学习。 official docs 正在进行中,但您可以从那里获得一些信息。您可以从API docs 获得的所有其他信息。但实际上,wiki 是一个非常好的资源。另外,看看官方论坛,社区真的很有帮助。
    【解决方案2】:

    我想我会在这里插话,因为你在大约 12 个月前就在同一个地方。我跳进了 CI 并没有回头。我喜欢 CI 的 MVC 方法——我以前从未真正做过任何 OOP,但 CI 确实强调了这种方法的好处。意想不到的好处是我已经能够快速适应其他 OOP 框架。此外,他们的文档和论坛令人惊叹,这在采用新事物时至关重要。我也喜欢处理 url 的方式 - 非常干净:domain.com/className/methodName,您还可以构建自定义路由模式。

    我确实觉得我也应该为 CI 辩护...CI 确实提供了自动加载功能,但您可以自行决定,但不会在盲目加载模型时做出任何假设。为您的站点、类或单个方法加载它们。

    总而言之,我喜欢 CI,它促使我构建功能更强大、功能更强大的 Web 应用程序 - 我鼓励每个人都尝试一下。

    【讨论】:

      【解决方案3】:

      我使用 CodeIgniter 制作了一个网站,玩家可以在这里上传他们为游戏制作的自定义模组。它允许他们登录、上传文件、下载、评价模组,以及做其他类似的事情。总的来说,我对 CI 感到非常满意,因为它相对容易设置和学习如何使用,并且可以编写非常简洁的代码。可维护性也相当不错。我也很喜欢它没有强迫我使用相对于数据库无关的 MySQL。

      老实说,这听起来很适合您的项目。这绝对是完美的解决方案吗?我不知道,但它肯定会完成工作。

      【讨论】:

        【解决方案4】:

        我很高兴使用 CI 开发两个相当小的 Web 应用程序。使用 Ruby on Rails 后,CI 的 MVC 方面很容易掌握,尽管 CI 是一个比 RoR 更“松散”的框架。我喜欢 CI,因为它可以很好地组织代码,但最终可以让您灵活地按照自己认为合适的方式处理代码。

        您可以考虑的一些替代方案是:

        【讨论】:

          【解决方案5】:

          CodeIgniter 非常有用且易于学习。它很简单,但也可能是一个优势。我从它开始,然后去了我非常喜欢的 Kohana 2.x。现在有了 Kohana 3.x,但我没有找到与之前版本一样的明确信息。

          我认为 CodeIgniter 会满足您的需求。可能您应该开始使用 2.x(现在处于 Beta 版)分支。如果你想要更详细的东西,我建议你考虑一下我现在也在学习的 Yii (www.yiiframework.com)。

          【讨论】:

            【解决方案6】:

            @苏塔

            CI 将在 CI 2.1.0 中放弃对 PHP 4 的支持。所以旧代码仍然可以在 2.1.0 中使用,但新功能将不再支持 PHP 4。

            CI 对我来说是最好的 PHP 框架。如果您要使用 PHP 框架,请使用 CI。

            【讨论】:

              【解决方案7】:
              【解决方案8】:

              仅供参考 - Codeigniter 2.0 已经发布了一段时间,并且已经采取了许多步骤来实现全 PHP5。我已经用它建立了几个网站。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-08-03
                • 2011-12-09
                • 1970-01-01
                • 1970-01-01
                • 2014-11-06
                • 2017-04-29
                • 1970-01-01
                • 2017-12-02
                相关资源
                最近更新 更多