我在选择Yii作为我的PHP框架时做出了正确的选择吗?

时间:2009-10-06 04:14:51

标签: php jquery frameworks yii

我即将开始开发一个新网站,并一直在研究PHP框架。我不是一名高级PHP开发人员,但我已经开发了几年的网站和应用程序(在asp.net中)。

我的网站主要是基于AJAX(使用jQuery)并且大量调用Web服务。经过一番研究,这就是我想出的:

CakePHP:最初开始在此开发,但发现它太复杂了。事实上,它迫使你使用和学习所有这些新东西只是为了使用它有点令人生畏,所以我把它暂时放在一边。

Zend:框架的性能让我有点怀疑,但我听说它对创建Web服务有很大的支持。我也听说它有点复杂。

CodeIgniter:没有真正的理由不使用这个。基于我读过的CodeIgniter和Yii是非常相似的,但Yii有点快,并且没有PHP4不需要的代码(因为我打算专门用PHP5开发)。

就Yii而言,唯一令我害怕的是它比其他框架更新,所以它有一个较小的社区。它似乎也没有大量的Web服务支持(只有SOAP,根据我的理解)而不是Zend。

所以我的问题归结为:

  1. 这些事情会让我担心吗? (不是社区大,网络服务支持不佳)
  2. 还有什么我应该研究的吗?
  3. 我选择的Yii优于其他框架是否适用于主要基于AJAX的Web应用程序?
  4. 巴拉

5 个答案:

答案 0 :(得分:11)

您需要首先记录项目的要求以及为什么需要框架的原因。然后看看网站的未来和相关功能。然后选择提供最强功能的框架来满足这些要求。不要挂断意见。阅读文档并确定要使用的组件,从那里缩小搜索范围,然后对它们进行实验。

执行尽职调查不仅会为您付出代价,还会为您支付账单的客户带来回报。

总结一下:

  1. 确定网站所需的组件。
  2. 研究框架并根据您的要求确定匹配项。
  3. 尝试并了解哪种方法最适合这项工作。
  4. 编辑/意见补充:

    如果这仅仅是一个个人成长项目,那么我会考虑使用简历上最好看的内容。 Zend拥有最大的名字和坚实的产品,所以他们默认赢了,因为它是旧的“不能因IBM论证而被解雇”。一些大型玩家正在使用Symphony,但这是一个很大的学习曲线。 Yii,Cake,Kohana都有利有弊,并且以自己的方式表现出色。

答案 1 :(得分:5)

我曾经是Symfony,CakePHP,Zend框架,Kohana和Code Igniter的开发人员,但大约1年前我发现Yii,我的第一次(和第二次和第三次)印象非常好:
< / p>

  • 易于学习
  • 易于实施
  • 易于使用和扩展
  • 非常非常非常快
  • 支持多种语言
  • 支持许多软件,服务器和加速器
  • 支持MySQL,PostgreSQL,SQLite和Oracle ...... Firebird支持是测试版。
  • 我现在还记不起很多其他功能。

下载,使用它并用它实现你的项目,......你会感到惊讶。

现在我问你的问题:

  1. 这些事情会让我担心吗?社区并不像看起来那么小,目前,Yii有一个活跃的社区。我们不是少数。
  2. 还有什么我应该研究的吗?您应该看看您的需求:您将使用的数据库,Web服务器和其他人,如Randy所说。
  3. 我选择的Yii优于其他框架是否适用于主要基于AJAX的Web应用程序?是的,是的。

答案 2 :(得分:4)

作为Yii的主要开发者,我可能不完全公平(但想要!),但是,为了客观性,我应该提到我之前尝试过Zend和CodeIgniter。

在Yii的早期版本中,benchmark tests非常令人印象深刻,而且由于领导层不希望这个框架膨胀,并非所有功能请求都得到实现。这可能听起来有点令人失望,但如果您在编程和设计方面经验丰富,那么您已经意识到它的潜力。

另一方面,Yii仍然支持各种各样的实用和现实解决方案。这有点主观,但如果你看一下那些经常使用的课程,你会发现他们在实际问题上的能力。

文档(尤其是API)经过严格调整,非常规范,在最初的几个小时内你可能会感到奇怪和冷漠,但从长远来看,它肯定会让你的工作变得轻松(不像那些流行的docbuddies) ,希望在方法签名中结交朋友。)

这些都有助于您的开发时间。人们可以在几周内创建出色的应用程序!

答案 3 :(得分:4)

在使用Yii的1年半的时间里,我在网上有大约15个网站,所有网站都运行完美,速度快,Yii非常容易创建它们。大多数网站都不是微不足道的,它们是大型的真实世界网站。如果需要,我可以提供链接。

所以我可以向你保证,通过选择Yii你一定能够做任何你想要的网站,而且会快速而安全。

答案 4 :(得分:0)

几乎每个现代Web框架都对XHR / Ajax提供了出色的支持。根据您目前对语言的最新了解,您可以根据自己的个人喜好归结为个人偏好。

我也会建议Kohana,因为它非常稳定,成熟,并且有很好的支持。

在你玩这个框架之前你不会真正知道,我建议你把它们的脚趾浸在其中一些。