我选择 Yii 作为我的 PHP 框架是正确的选择吗? [关闭]
Posted
技术标签:
【中文标题】我选择 Yii 作为我的 PHP 框架是正确的选择吗? [关闭]【英文标题】:Am I making the right choice in choosing Yii as my PHP Framework? [closed] 【发布时间】:2010-12-04 03:50:15 【问题描述】:我即将开始开发一个新网站,并一直在研究 php 框架。我不是高级 PHP 开发人员,但我已经开发网站和应用程序(在 asp.net 中)已有几年了。
我的网站将主要基于 AJAX(使用 jQuery)并大量调用 Web 服务。经过一番研究,这是我想出的:
CakePHP:最初是在这方面开始开发的,但发现它太复杂了。它迫使你使用和学习所有这些新东西只是为了使用它的事实有点令人生畏,所以我暂时把它放在一边。
Zend:框架的性能让我有点怀疑,但我听说它对创建 Web 服务有很好的支持。我也听说有点复杂。
CodeIgniter:没有真正的理由不使用这个。根据我阅读的内容,CodeIgniter 和 Yii 非常相似,但 Yii 更快一些,并且没有 PHP4 不需要的代码(因为我计划专门在 PHP5 中开发)。
就 Yii 而言,唯一让我害怕的是它比其他框架更新,因此它的社区更小。与 Zend 相比,它似乎也没有大量的 Web 服务支持(据我所知,只有 SOAP)。
所以我的问题归结为:
-
这些事情应该让我担心吗? (没有那么大的社区,糟糕的网络服务支持)
还有什么我应该调查的吗?
对于主要基于 AJAX 的 Web 应用程序,我选择 Yii 而不是其他框架是否合适?
巴拉
【问题讨论】:
对于任何想选择哪个框架的人,阅读和观看 Bob 大叔:***.com/a/18853233/1614973 【参考方案1】:您需要记录项目的需求以及为什么首先需要框架的原因。然后看看网站的未来和相关功能。然后选择提供最强大功能的框架来满足这些要求。不要纠结于意见。阅读文档并确定要使用的组件,从那里缩小搜索范围,然后对它们进行试验。
进行尽职调查不仅会为您带来回报,还会为支付账单的客户带来回报。
总结一下:
-
确定网站所需的组件。
研究框架并确定符合您要求的匹配项。
实验并了解哪些最适合这项工作。
编辑/意见补充:
如果这仅仅是一个个人成长项目,那么我会考虑在你的简历中使用看起来最好的东西。 Zend 拥有最大的知名度和可靠的产品,因此他们默认获胜,因为它是旧的“不能因为 IBM 被解雇的论点”。一些大玩家正在使用 Symphony,但这是一个很大的学习曲线。 Yii、Cake、Kohana 各有利弊,各有千秋。
【讨论】:
不错的答案,比我的要好得多:) 没有客户,这是一个主要为我自己准备的项目,所以我可以学习,玩得开心,也许将来会用到。该站点实际上只需要一个页面,并且大多数交互将根据操作提取内容。我可能会从另一个页面加载更多内容。正如您从我最初的帖子中看到的那样,我确实研究了一些框架,我只是问我是否做出了正确的选择,或者我是否错过了任何东西。 CakePHP 是我真正深入尝试过的唯一一个,但我不喜欢它。我想指出的另一件事是,我真的不想做任何命令行的事情。 我讨厌命令行的东西,现在自从我进入 Rails 后就喜欢上了它。 Yii、Cake 和 ZF 也有。 截至今天,kohana 在许多方面仍处于破损和未完成状态,蛋糕臃肿,yii 很好但很快就过时了,因为它的许多方法都是硬编码的,从未尝试过 ZF,所以不能说,Symfony 看起来还不错,但有点臃肿,这就是他们发布Silex 的原因,这很难跟上。就个人而言,我不喜欢其中任何一个。我宁愿将 node.js 与 Express 一起使用。【参考方案2】:我曾经是 Symfony、CakePHP、Zend 框架、Kohana 和 Code Igniter 的开发人员,但大约 1 年前我发现了 Yii,我的第一(以及第二和第三)印象非常好:
简单易学 易于实施 易于使用和扩展 非常、非常、非常快 支持多种语言 支持多种软件、服务器和加速器 支持 mysql、PostgreSQL、SQLite 和 Oracle...Firebird 支持是测试版。 我现在不记得的许多其他功能。下载它,使用它并用它来实施您的项目,...您会感到惊讶。
现在我问你问题:
-
这些事情应该让我担心吗?社区并不像看起来那么小,目前,Yii 有一个活跃的社区。我们不是少数。
还有什么我应该调查的吗?正如 Randy 所说,您应该查看您的需求:您将使用的数据库、Web 服务器以及其他。
对于主要基于 AJAX 的 Web 应用程序,我选择 Yii 而不是其他框架是否可行?是的。
【讨论】:
我认为您没有给足够的时间来真正学习这些框架。在这么短的时间内学会了这么多框架。 我几年前就学习了这些框架,但是,自从我学习了 YiiFramework 之后,我就不再使用它们了。我的框架经验是:Kohana(6 个月)、CodeIgniter(2y)、ZF(1y)、CakePHP(1y)、Symfony(6m) 我同意 Yii 易于学习。这对我来说非常重要。它不仅可以更轻松地吸引其他开发人员,还可以让您立即开始开发您的应用程序,而不是花几天时间学习如何做每个应用程序都需要的事情。 还有 MongoDB、Neo4j 数据库被扩展支持,还有更多正在开发中【参考方案3】:作为 Yii 的主要开发人员,我可能并不完全公平(但我想这样做!),但是,为了客观起见,我应该提到我之前尝试过 Zend 和 CodeIgniter。
在 Yii 的早期版本中,benchmark tests 给人留下了深刻的印象,因为领导层不想让这个框架变得臃肿,所以并不是所有的功能请求都得到了实现。这听起来可能有点令人失望,但如果您在编程和设计方面有足够的经验,那么您已经意识到它的潜力。
另一方面,Yii 仍然支持各种各样的实用和现实生活中的解决方案。这有点主观,但是如果您查看那些经常使用的类,您会发现它们在实际问题中的威力。
文档(尤其是 API)经过严格调整且非常规范,在开始的几个小时内您可能会觉得奇怪和冷淡,但从长远来看,它肯定会减轻您的工作(不像那些时髦的文档伙伴,想在方法签名中交朋友)。
这些都有助于您的开发时间。人们可以在几周内创建出严肃的应用程序!
【讨论】:
第三方对 Yii 的支持如何,特别是对插件/模块的支持? 两名核心开发人员(包括领导者)也在一个名为 Zii 的项目上工作,该项目是 Yii 的官方扩展存储库。到目前为止还不是很成熟,但是有近百个用户贡献的扩展。根据设计,该架构还允许您非常轻松地插入其他库(如 Zend 类)。【参考方案4】:在使用 Yii 的 1 1/2 年中,我有大约 15 个在线站点,所有站点都运行得完美无缺,速度很快,而且 Yii 让创建它们变得非常容易。大多数网站都不是微不足道的,它们是现实世界的大型网站。如果需要,我可以提供链接。
所以我可以向你保证,通过选择 Yii,你肯定可以做任何你想做的网站,而且它既快速又安全。
【讨论】:
【参考方案5】:几乎每个现代 Web 框架都对 XHR/Ajax 提供了出色的支持。这实际上归结为您的个人偏好,具体取决于您当前对您最喜欢的框架的语言的了解。
我也会建议 Kohana,因为它非常稳定、成熟并且拥有出色的支持。
在您使用框架之前,您不会真正知道,我建议您将脚趾浸入其中一些。
【讨论】:
以上是关于我选择 Yii 作为我的 PHP 框架是正确的选择吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章