2

合作伙伴的网站需要从头开始重建,因为它根本无法应对大量访问者(目前使用 SilverStripe 构建)。该网站应该能够处理使用 20 多种语言的 500 万或更多成员。

我们正在考虑使用 CodeIgniter 或 YII,因为从研究来看,两者似乎都表现出色。然而,有几个人建议我们应该为此考虑最新版本的 Joomla。对于小型网站,我们很乐意使用 Joomla,但对于负载较重的网站,我们感觉我们必须远离它。然而,从性能的角度来看,我们无法找到两者之间的任何比较,但我们确实需要很好的论据,为什么 Joomla 会或根本不会成为这方面的好候选人。可以在这里找到一个比较:http: //vschart.com/compare/yii/vs/joomla/vs/codeigniter但是这并不能告诉我当访问者数量真的很高时会发生什么。

考虑到该网站将获得大量访问者并将使用 20 多种语言,有人可以建议 Joomla 与 CodeIngitor 或 YII 相比如何(对于 silverstripe,我们构建了一个翻译器模块,因为在使用这么多翻译器时,CMS 中的构建没有用处)。

4

5 回答 5

5

当您处理这种规模的网站时,最好不要转向 Joomla。Joomla 可以处理相当多的问题,但我建议当网站随着流量的增加而适应时,拥有一个那么大的 Joomla 网站会容易得多。

让您的问题难以回答的部分原因是我们对您当前网站的功能知之甚少。

  • 它主要是一个CMS吗?如果是这样,Drupal 可能非常适合您。

  • 它是自定义 Web 应用程序吗?根据您正在处理的翻译数量,听起来可能是这样。

  • 是不是介于两者之间?这也可能是您正在处理的问题。

如果您正在查看底部两个选项中的任何一个,是的,从 SilverStripe(但不是 Joomla)转移听起来可能是一件好事。

考虑到您正在处理的流量,听起来您可能已经有了收入来源和开发团队。在这种情况下,可能值得让一些开发人员使用 CodeIgniter 和 Yii 并看看他们的想法。

我之前写了一个关于选择什么类型框架的问题的详细答案,你可以在这里查看: https ://stackoverflow.com/questions/10095906/yii-or-zend-or-other-frameworks -根据以下要求/10115678#10115678

我是 Yii 的粉丝,已经查看了许多其他框架。无论您使用哪种框架,我都想提供一条建议,我发现它对我从事的所有项目都很重要。

您想使用对象,而不是数据数组

上述原因是您的模型(以及它们产生的对象)最终可能会将您的业务逻辑内置到其中。从长远来看,这样做会使生活变得容易得多Object Technology: A Manager's Guide是一本关于该主题的好书,面向经理并且相当高级(没有代码,尽管可能有几行伪代码)。我强烈推荐它。

框架思想

CakePHP

我开始涉足 CakePHP,直到我发现它没有交回对象(只是数组),这时我尖叫着跑了。

代码点火器

看看 CodeIgniter 对数据库模型的支持,我认为你会很快用你的大小的网站达到它的限制,所以建议你反对它。让 EllisLabs 决定放弃 CodeIgniter(有关更多详细信息,请参阅他们的网站)并不是一个好兆头。标志说远离。

在 PHP 框架中,这些是我听到最多的:

  • Symfony 2
  • Yii(披露:我每天都用这个)
  • 拉拉维尔

Symfony

据我所知,这对 PHP 社区来说是一个巨大的刺激,许多最佳实践都来自该社区。单元测试,Composer,推动 PSR-1/2,代码模块化的理想(他们的一些核心代码最终在 Drupal 8 中结束)都是促使 PHP 社区编写比意大利面条代码更好的代码的好东西. 话虽如此,它感觉有点沉重和企业化,并且看起来有一个相当沉重的学习曲线。

当我在寻找一个框架时,我有很多需要迁移的遗留代码。Yii 处理事情的方式,虽然有时固执己见,但在让我接触到在网络上大量使用的良好实践方面对我有很大帮助。也强烈推荐。

拉拉维尔

当我在寻找一个框架时(2 多年前),Laravel 并不存在。它显然非常漂亮和前沿(还没有看过,我一直忙于在 Yii 世界中定期登陆新作品),但我有兴趣涉足它。也就是说,这是一篇关于 Laravel 的深思熟虑的文章以及我想知道的几个考虑因素。

  1. 主要开发商泰勒奥特威尔似乎是一股主导力量。当他这样做并享受它赚钱时,这是一件很棒的事情。如果他决定做其他事情,不确定框架会发生什么。

  2. 框架的开发速度是一件了不起的事情,意味着各种各样的创意源源不断。这是一个去看看很酷的新事物的好地方。也就是说,您希望您的开发人员能够轻松找到有关他们正在使用的框架的信息,这些信息在 Laravel 社区中可能会在 3-6 个月内严重过时。当我环顾四周时,Ruby on Rails 社区有同样类型的好/坏问题。关于新东西的信息太多了,有时很难找到有关您正在处理的框架版本的信息。

也就是说,那里有很多很酷的选择:-) 我可能应该总结一下,因为这比我预期的要长得多。让我们知道您最终做出的决定以及结果如何。

于 2013-08-01T22:45:26.137 回答
1

网站到底有多大?比 joomla.org 大吗?

您说的是数据库中的内容量还是访问者数量。
Joomla 确实没有规模问题,除非您使用的是旧版本的 MySQL,在这种情况下它会变慢。

于 2013-08-01T16:02:13.673 回答
0

Joomla是一个屡获殊荣的内容管理系统 (CMS),它使您能够构建网站和强大的在线应用程序。许多方面,包括其易用性和可扩展性,使 Joomla 成为最流行的网站软件。最重要的是,Joomla 是一个开源解决方案,每个人都可以免费使用。


CodeIgniter是一个应用程序开发框架 - 一个工具包 - 适用于使用 PHP 构建网站的人。它的目标是通过为常用任务提供一组丰富的库以及访问这些库的简单界面和逻辑结构,使您能够比从头开始编写代码更快地开发项目。CodeIgniter 通过最小化给定任务所需的代码量,让您创造性地专注于您的项目。


Yii是一个免费的开源 Web 应用程序开发框架,用 PHP5 编写,提倡干净、干燥的设计并鼓励快速开发。它可以简化您的应用程序开发,并有助于确保最终产品极为高效、可扩展和可维护。


Joomla 无法与 CodeIgniter / Yii 相提并论。但是,如果您的项目需要任何 CMS,您可以使用 Joomla(或者 Wordpress)。如果您想创建任何 Web 应用程序,那么您需要决定使用任何 PHP 框架。我使用 CodeIgniter 多年,我喜欢它。他们有一个庞大的社区和最好的用户指南。Yii 还有一个很棒的社区和很多功能。所以,你可以根据你的需求来决定。

于 2013-08-01T14:25:34.283 回答
0

这取决于你想要什么样的应用程序。如果您想要一个 CMS,Joomla 是您的最佳选择。因为这就是它的构建目的。如果您要创建一个真正的“自定义”应用程序,Yii/Codeigniter 是您的最佳选择。(这就是 yii 的构建目的)

关于性能,根据我的经验,Yii 的速度要快得多,因为它的开销要少得多。您可以根据需要构建应用程序。

于 2013-08-01T12:04:19.930 回答
0

好吧,这就像比较绿色和咸味。真的 joomla 是 CMS,而 Yii 和 CI 是框架。如果您考虑在 joomla 上进行高负载 - 这不是您的工作。如果你有高前端负载——也许关注 js 框架?前端的 Yii+backbone.js 或 ext.js 很棒,因为你会大量迁移到客户端。CI死了。老实说,我喜欢它,但它已经死了。没有扩展,将来没有命名空间,什么都没有。我可以说 Yii 的 +:

*比 CI 更快;

*有很棒的文档和维基文章;

*拥有强大而活跃的社区和开发人员;

我还能补充什么?活动记录适用于小型数据库,但不适用于高负载。同样正如我在 yii 上所说,您可以轻松地制作 js 框架+yii 组合。Yii 有很好的缓存系统。长期支持稳定版本。

我现在亲自管理 highload,但它更多的是后端/api/数据库。每天150+千条数据库记录,300+千条API请求,5000万条记录数据表。它已经像时钟一样工作了 2 个月以上。

选择你喜欢的,或者如果它的系统真的很大,就写在原生 php 上——实践中的最佳选择。

于 2013-08-01T13:29:39.057 回答