28

我知道这已经被问了很多,并且我已经探索了其他答案,但我仍然有问题,所以希望这能为辩论提供新的见解。

一年前,我在 CodeIngniter 中从头构建了一个服务调度 Web 应用程序,具有以下功能:

  • 具有不同角色和功能的用户管理
  • 每个用户的不同后端
  • 用于安排服务的交互式和可管理日历
  • 领土管理和分配
  • 服务状态管理
  • 报告和记录
  • 使用 authorize.net 计费
  • 前端信息页面

所有非常标准的东西和 codeIgniter 都很好用。现在,一年后,我正在修改代码。客户需要一些不同的管理功能,比如页面的 CMS 以及添加新服务和更改计算价格点等。我需要添加新的类和代码来完成这项工作。

在过去的一年里,我非常深入地研究了 Wordpress,并意识到我可以使用自定义帖子类型、分类法、自定义字段和通过自定义插件扩展的自定义功能在 wordpress 中构建整个应用程序。在许多方面,这似乎会更好。

使用 Wordpress 而不是 php 框架的优点:

  • 现有的CMS基础,用户管理,熟悉的后端,从数据库结构入手,节省大量开发时间
  • 不断更新的安全性
  • 稳定
  • 健壮性(我知道 wordpress 可以处理这个问题,即使它的预期用途是用于博客)

使用框架的原因:

  • 灵活性
  • 甲骨文
  • MVC
  • 其他?

那么……哪个更好?我真的需要这个项目的 ORM 或 MVC 吗?我觉得如果我使用 Wordpress,我的开发工作和客户体验会更容易。

如果我切换到 wordpress,我还会失去什么?

在框架中结合 Wordpress 怎么样,反之亦然?建议?

什么时候使用框架而不是 wordpress 才有意义?

4

3 回答 3

13

这是一个相当广泛的问题,所以这里有一个相当广泛的答案......

Wordpress 是一个 CMS。这是一个很好的、灵活的 CMS,具有许多内置优点,但它的最佳点是管理一个主要与内容有关的网站,其中内容被非常广泛地定义为“文字、图片和其他资产”。插件模型允许您构建/使用附加功能,并且广泛的用户社区提供大量稳定性/安全性/可扩展性帮助。

Code Igniter 是一个为功能性 Web 应用程序设计的框架(实际上,这通常意味着数据库驱动的应用程序)。它的最佳点是管理与业务领域的复杂交互。它是用于构建任何类型应用程序的框架(包括,如果你是贪吃的惩罚,一个 CMS)。

如果您的业务领域与内容有关(根据您的描述,我认为不是),那么 Wordpress 显然是赢家。在您的情况下,我认为您可能可以使用 Wordpress 构建解决方案,但这将是一个真正的边缘案例 - 您提到的“安全性、稳定性、稳健性”的好处可能不适用,因为您需要构建很多的自定义代码。我想你很快就会明白“嗯,这不是 Wordpress 想要我工作的方式,但要提供这个功能,我必须这样做”这一点。

当业务用户说他们想要 CMS 时,他们通常并不意味着他们想要 Wordpress(或 Drupal、Sitecore 或 Magnolia);他们希望能够管理他们的网站,而不必去找技术人员。如果您的站点主要是数据库驱动的,那意味着管理数据库记录的屏幕。

于 2012-05-04T09:59:14.327 回答
3

在我看来,这是关于结构和功能的。CMS(Wordpress)和 PHP 框架都提供结构/功能来构建您自己的功能。您可以在 CMS 和 Framework 上执行相同的操作。它们在众所周知的框架和 CMS 之间的性能和安全性应该没有太大差异。

然而,CMS 专注于前端(内容?),提供现成的 CSS、Javascript(前端),以便轻松快速地构建/管理网站和基于 Web 的应用程序。但是,与 MVC 模型相比,它的结构并不是很清楚。

如果你自己发展,两者都会做同样的工作,但在一个团队中,框架可以提供好处。

这只是我的观点,我经常使用 Wordpress,并且对框架有一点了解。

于 2013-09-18T11:07:05.577 回答
2

我使用 CodeIgniter,我的偏见是因为你已经在其中构建了大部分应用程序,而且它看起来比 Wordpress 更灵活/预配置更少。我也感觉到 CI 相对于 WP 的使用在开发人员中越来越多,所以 CI 似乎更有可能面向未来,尽管公平地说它们都很受欢迎。

你能说清楚你是老板的要求吗?我读到你说的内容的方式是,你已经完成了 80% 的工作,然后正在考虑抓取(或至少可能不得不大量修改)这 80%,因为其他 20% 似乎在 Wordpress 中更合乎逻辑。

随着我对 PHP 的了解越来越多,我实际上发现自己使用的 CI 更少,而是更直接地编写 PHP 或 JavaScript(以获得更好的用户体验)。所以我想我很惊讶听到有人想要从最小的 PHP/ruby/Python 框架切换到更重的框架,因为这些天大部分工作都在转移到 JavaScript。

直接使用 PHP 的另一个关键点是,了解 PHP 的人数使熟悉 CI 或 WP 特定语法的人数相形见绌。因此,您更有可能获得帮助/合作/职业发展,重点是这些少数民族方言的“母语”的坚实基础。使用 PHP 执行此操作还有助于帮助我更好地理解其他语言,例如 JavaScript,因为抽象级别与 php-ruby-python 在同一页面上,而框架带来了完全不同的(在我越来越多的观点中) , 无关的) 词汇。

于 2012-05-04T02:58:14.720 回答