【问题标题】:Easy to use/learn PHP framework? [closed]易于使用/学习的 PHP 框架? [关闭]
【发布时间】:2011-05-31 20:55:34
【问题描述】:

我需要构建一个 php 应用程序,我正在考虑使用一个框架(以前从未使用过)。我一直在浏览一些,但其中大多数似乎有点复杂,我真的很喜欢我所看到的 Symfony,但看起来我必须花一个月的时间才能真正了解如何使用它,而在一个月内我可以在没有框架的情况下对我想到的应用程序进行 5 次编码。但我想用一个来“标准化”我的代码并防止错误。

所以我想知道是否有人可以与我分享您认为更容易学习如何使用的 php 框架。

我的应用程序将使用 mysql,它会有某种“搜索引擎”来搜索将使用一些“爬虫脚本”填充到数据库中的数据(我也想使用该框架进行编码)。

【问题讨论】:

标签: cakephp frameworks symfony1 php


【解决方案1】:

在 StackOverflow 上有很多问题在回答这个问题,我最近刚刚在你的位置上研究了许多不同的框架,因为我也想标准化我的代码。

我最终选择了 Codeigniter,因为我想要具有良好文档的东西,而且它非常轻便(更轻 == 更容易理解 IMO),而且不是太严格。在 Codeigniter 中,如果你真的想要,你可以只编写普通的 PHP 代码,它可以让你做到这一点。我喜欢这个选项,因为如果我真的被什么东西卡住了,我只是用我知道的方式用原始 PHP 编码它。我只使用 Codeigniter 几个星期,但学习曲线并不太难,这是我使用的第一个框架。

【讨论】:

  • 从我一直在阅读的内容来看,Codeigniter 可以很好地从 php 框架开始,我想我会尝试一下,谢谢。
  • CodeIgniter 是一个很好的入门框架;不要忘记 Symfony,因为一旦你变得更高级,它就会显得“合乎逻辑”。
  • 是的,Symfony 看起来是我迄今为止见过的最好的,但看起来也很复杂,我想尽快完成这个应用程序。有空的时候我一定会开始玩 symfony。
  • 我也同意达伦的观点。我的计划是通过使用 CodeIgniter 来获得对框架的“感觉”。然后,一旦我牢牢掌握了它的工作原理,我就可以转向更高级和更强大的框架,例如 Symfony 或 Zend。
【解决方案2】:

通读之前的一些讨论,并寻找易于使用的建议:

如果您想要一些容易上手的东西,您可能需要研究最小框架:

但实际上,如果您想要良好的文档,建议使用大打。 Symfony 和 CakePHP 很复杂,CodeIgniter 和较新的 Kohana fork 对初学者友好。虽然还有更多可供选择。选择一个不错的 API,并寻找一个解释 MVC 和 MVP 之间区别的 API。还有一个冗长的列表:http://matrix.include-once.org/framework/

【讨论】:

    【解决方案3】:

    我的第一选择是cakePHP。简单易学,great documentation,api 和几本好书:

    【讨论】:

    • 蛋糕的下一个迭代,锂看起来也很棒
    【解决方案4】:

    CakePHP 是学习曲线较小的最佳解决方案。

    【讨论】:

      【解决方案5】:

      就在 2 年前,我还站在你的立场上。我个人选择使用Zend Framework。重要的是要了解 ZF 是由维护和改进 PHP 本身的同一个人构建的!只是这让它更有可信度。

      在选择框架时,您应该考虑以下几点:

      1. 社区的规模和质量 - 作为最广泛采用的 PHP 框架之一,Zend Framework(又名 ZF)拥有最大的 PHP 框架社区;因此,您将遇到的大多数问题都已经得到解答。有些框架只得到少数开发人员的支持,如果他们碰巧放弃了对它的工作,你就会被最新版本的框架困住。 ZF 不太可能发生这种情况。

      2. 文档和初学者友好 - ZF 文档非常好,充满示例和初学者友好。还有大量的教程和[快速入门指南][2]。启动一个新的 ZF 应用程序非常容易。

      3. 投资 - 当然,您必须投入一些时间来学习它的工作原理,但在软件工程领域,一切都是如此。您还必须事先了解 [OOP][3] 和 [MVC][4]。许多人不明白,使用框架来开发类似过程的代码(而不是 OOP)违背了......使用 MVC/OOP 框架的目的!因此,掌握和掌握这些概念非常重要,这样您才能开发出最好的代码。我的意思是最好的代码 a)有效的代码 b) 易于理解和维护的代码。

      这项投资非常值得,因为它会大幅增加 a) 发展速度 b) 调试和维护速度。

      此外,利用您编程生涯中的这一时刻,通过以下方式遵守其他常见的最佳实践(如果您尚未这样做): a) 单元测试 - 非常容易集成到 ZF 中。也请查看 [测试驱动开发][5]。 b) 一个 IDE - VIM、[Netbeans][6] 等 c) [设计模式][7] d) 源代码控制 - [Mercurial][8]、Git、SVN 等 e) 最后,通过[关注 PHP 世界的动态][9] 让自己保持在循环中。

      你会在不久的将来感谢自己!我知道我做到了。

      【讨论】:

        【解决方案6】:

        由于没有人在这里投票给 Symfony,我会的,这就是为什么。有两种类型的框架,实际上范围很广,但在 PHP/MVC 领域,也就是我们在这个线程中所处的位置,有 Glue 和 Full Stack 框架。

        Zend 和 CodeIgniter 是 Glue,Symfony 和 Cake 是 FullStack。

        Glue 是您可以选择可以使用哪些组件以及可以使用多少“标准”代码的工具。这些往往具有更温和的学习曲线,因为您可以选择您喜欢的有助于帮助的部分,并用您知道的代码填充更困难的部分。

        FullStack 意味着您需要大量使用,因此学习曲线可能非常陡峭。此外,使用 FullStack 时,可能会倾向于反对某些东西的实现方式,而不仅仅是接受并顺其自然。

        来自我自己写一切的背景,我最初喜欢 Glue,但现在已经使用 Symfony 1.4 和 2 以及 Sinatra 和 Padrino 迁移到 FullStack。全栈提供的额外速度和力量是我不想放弃的。

        CI 的一个缺点是它是为 php4 兼容性而构建的,因此在您推送框架时确实会在许多结构方面受到影响,Kohana 是解决此问题的一个分支。而且我不喜欢 Zend,因为有很多方法可以做同样的事情,一段时间后框架似乎几乎无关紧要(对不起个人咆哮)

        在一天结束时,使用框架是好的,因为它增加了一个结构,并且可以极大地帮助学习,并且可以选择一个让您感觉舒适且富有成效的框架。

        【讨论】:

          【解决方案7】:

          有很多框架和几个非常酷的框架。 在尝试了这么多之后,我认为在找到最适合您的需求之前,您不应该开始使用其中任何一个。 你可能会在选择一个之后找到其他任何一个,所以在选择正确的一个之前不要快速行动。 在使用框架创建应用程序之前,您应该进行练习。 对我来说,我从 CodeIgniter 开始创建了一个应用程序并在中间留下了第二个应用程序,然后传递给 Kohana 并根据需要启动了第二个应用程序。

          【讨论】:

            【解决方案8】:

            CodeIgniter是我比较喜欢的一个

            【讨论】:

              【解决方案9】:

              框架必须学习少,易于扩展。我的所有项目都使用http://sourceforge.net/projects/naanalframework/。没有安装。只需在应用程序的 index.php 中指向框架 naanal.php 并运行它。该框架将指导您做什么。对于初学者来说,这个框架对于开发 PHP 应用程序非常有用。 http://sourceforge.net/projects/naanalframework/files/sample%20applications/wordpress_plugin_builder.zip/download 也提供示例应用程序

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-10-13
                • 2012-07-11
                • 1970-01-01
                • 1970-01-01
                • 2011-09-09
                • 1970-01-01
                • 2011-12-06
                相关资源
                最近更新 更多